1.1 보안 대책이 필요한 이유

보안(security)은 ‘안전, 안심’을 의미한다. 사용자가 애플리케이션을 안심하고 사용할 수 있도록 개발자는 애플리케이션의 보안을 보장할 수 있어야 한다.

1.1.1 취약성은 왜 발생할까?

취약성(vulnerability)은 ‘상처 입기 쉬운 상태’를 말한다. 컴퓨터에서 취약성이란 부정한 방법으로 접근하거나 정보를 훔칠 수 있는 상태가 되는 보안상의 버그를 의미한다.

1.1.2 비기능 요건의 중요성

시스템 사용의 주목적이 되지 않는 요건을 비기능 요건이라고 한다.

표 1-1 비기능 요건 등급

요건 의미
가용성 서비스를 멈추지 않게 하거나 서비스가 멈췄을 때 영향 범위를 최소화해 시스템의 가동 품질을 보장한다.
성능/확장성 일정 시간 내 처리가 완료되도록 한다.
사용자 또는 데이터의 양이 갑자기 폭증해도 CPU와 메모리 등의 부족 문제가 발생하지 않도록 한다.
운용/보수성 시스템의 운용과 관리 작업 수단을 결정한다.
이행성 시셑ㅁ과 데이터 이행에 필요한 항목과 이행 계획이 세워져 있고 확실한 실행이 가능하다.
보안 사회적, 경제적 손실을 가져올 수 있는 위협에 대한 대책이 적절히 세워져 있다.
시스템 환경/생태계 전원, 온도, 재해, 보안 등 시스템의 이용 환경과 설치 장소가 고려되어 있다.
폐기 처리 방법, 에너지 소비 효율 등 환경적인 문제도 다룬다.

1.2 웹 취약성의 종류와 동향

1.2.1 보안 지침에서 확인하는 취약성의 종류와 동향

1. 안전한 웹사이트를 만드는 법 - 정보처리추진기구(IPA)