Security
웹어플리케이션 시큐어 코딩
SQL 인젝션 (SQL Injection)
공격자가 입력 폼 및
URL 입력란에 SQL문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 보안 취약점
보안대책
Prepared Statement 객체 등을 이용하여 DB 컴파일된 쿼리문(상수)을 전달하는 방법 사용
Parameterized Statement 를 사용하는 경우, 외부 입력데이터에 대하여 특수문자 및 쿼리 에약어 필터링
Structs, Spring 등과 같은 프레임워크를 사용하는 경우 외부 입력값 검증 모듈사용
방화벽
베스천 호스트 (Bestion host)
베스천 호스트는 보호된 네트워크에서 유일하게 외부에 노출된 내·외부를 연결하는 연결점으로 사용되는 호스트를 말한다. 방화벽 소프트웨어가 설치되는 호스트로 보안 취약점이 완전히 제거되어 있는 상태의 시스템을 의미한다. 베스천호스트는 내부 네트워크 전면에서 내부 네트워크 전체의 보안을 책임지는 호스트이기 때문에 공격자의 목표가 되기 쉽다.
스크린 라우터 (Screen Router)
장점
단점
듀얼 홈 게이트웨이 (Dual Home Gateway) 방식
장점
단점
스크린 호스트 게이트웨이 방식
장점
스크린 라우터와 베스천 호스트 두 번을 거쳐야 하기 때문에 보안성이 강화된다.
네트워크 계층과 응용계층에서 방어하기 때문에 공격이 어렵다.
가장 많이 사용되는 방화벽 시스템이며 융통성이 좋다.
듀얼 홈 게이트웨이 장점을 그대로 가진다.
단점
스크린 서브넷 게이트웨이 방식
장점
단점
OWASP(Open Web Application Security Project)
2013 OWAST TOP 10
웹 취약점
디렉토리 리스팅 취약점
<Directory "/usr/local/www">
Options Indexes ← 제거한다.
</Directory>
CSRF (스크립트 요청 참조)
파일 업로드 취약점
<Directory "/usr/local/apache">
AllowOverride FileInfo(또는 All)
...
</Directory>
웹방화벽
WebKnight
AQTRONIX사에서 개발한 IIS 웹서버용 공개 웹방화벽으로 SQL injection 공격 등 IIS 웹서버의 주요 공격을 차단할 수 있는 웹방화벽이다.
IIS 웹 서버의 ISAPI(Internet Server Application Programming Interface) 필터 형태로 설치됨.
기능을 보면 룰 기반으로 다양한 웹 공격을 막을 수 있고,
Log Only 및 차단모드 선택이 가능
White List 필터링 방식 지원으로 허용할
URL/폴더에 대해 키워드 등록을 할 수 있어 간단한 포지티브 정책이 가능
ISAPI 필터란?
IIS(웹서버)에 등록되어 있다가 특정 이벤트가 발생되면 호출된다. 즉 client의 요청(Request)이 왔을 때, 이벤트를 발생시키도록 하면, Client의 Request를 가공(커스터마이징)할 수 있게 된다. Clie와 IIS 사이에서 Request를 가로챈다고 생각하면 된다. ISAPI 필터는 항상 서버 프로세스에서 실행된다.
침입차단시스템
패킷 필터링방식 (Packet Filtering)
가장 기초적인 방화벽 시스템으로 네트워크계층과 전송계층에서 동작하는 방식이다.
다른 방식에 비해 속도가 빠른 장점이 있다.
낮은 레이어에서 동작하기 때문에 기존 어플리케이션과 연동이 용이하다.
하드웨어에 의존적이지 않으나 강력한 로깅 기능과 인증을 기대하기 어렵다.
침입탐지시스템 (Intrusion Detection System)
호스트기반 IDS (H-IDS / Host based IDS)
각 호스트 내에서 운영체제 감사(Audit)와 시스템 로그분석, 프로세스 모니터링을 통한 침입탐지 시스템
개별 호스트의 O/S 가 제공하는 보안감사 로그, 시스템 로그, 사용자 계정 등의 정보를 이용해서 호스트에 대한 공격을 탐지
각 호스트에 상주하는 Agent와 이들을 관리하는 Agent Manager로 구성
중요한 시스템 파일이나 실행코드에 대한 무결성 검사 기능이나 시스템의 취약점들을 탐지해 주는 취약점 스캐너(Vulerability Scanner) 등과 결합되어 사용한다.
특정 시스템과의 O/S와 밀접히 결합되어 각종 행위를 분석하므로 정교한 모니터링과 로깅이 가능하다.
IDS 문제 발생시 해당 호스트에 영향을 미치며 IDS 로 인해 시스템에 부하를 크게한다.
네트워크기반 IDS (N-IDS / Network based IDS)
프로미스큐어스(Promiscuous) 모드로 동작하는 NIC를 통하여 패킷을 캡처 후 분석을 통한 침입탐지 시스템
네트워크 기반의 공격을 탐지하여 네트워크 기반 구조를 보호하는 것이 목적
호스트 기반의 IDS처럼 호스트에 대한 공격을 탐지하거나 상세한 기록을 남길 수는 없으며, 네트워크가 분할 되어 있는 경우 제 기능을 발휘하지 못하거나 적용 범위가 제한되어 실용성이 없는 경우도 있다.
NIC 를 통해 패킷을 수집하여 수동적인 분석을 하기 때문에 기존 네트워크에 영향을 주지 않고 설치가 가능하다.
수행과정
정보수집
정보가공 및 축약
침입분석 및 탐지
보고 및 조치
공격
공격자가 중요한 네트워크 리소스의
DNS 도메인 이름, 컴퓨터 이름, IP주소를 알아내기 위해
DNS 영역 데이터를 가져오는 프로세스
일반적으로 공격자는
DNS 데이터를 사용하여 네트워크 다이어그램으로 나타내는 공격
DNS Cache poisoning
취약한
DNS 서버에 조작된 쿼리를 전송하여
DNS 서버가 저장하고 있는 주소 Cache 정보를 임의로 변조하는 공격
DNS Cache 란?
DNS 서버에 대한 반복적인 DNS 쿼리를 수행하지 않도록 쿼리에 대한 응답을 저장하여 네트워크 트래픽과 DNS 운영에 대한 성능을 향상시키기 위해 제공되는 서비스
DNSSEC (DNS Security Extension)
도메인 네임 시스템이 가지고 있는 보안 취약점을 극복하기 위한
DNS 확장 표준 프로토콜
보안요구사항
전자화폐
IC카트형 전자화폐
영국의 몬덱스 회사에서 실용화된 전자화폐 서비스를 최초로 실시하여 생긴 카드이다. 이 카드에는 IC칩이 내장되어 있어서 카드 소유자의 예금에 대한 정보가 들어있다. 카드 사용자들이 물건을 구입한 후에 몬덱스 카드를 상점에 제시하면 온라인기계에 넣고 대금결제를 하고 자동으로 금액이 계좌에서 빠져나가게 된다.
이러한 몬덱스 지갑이라고 불리는 전자 지갑에 두 사람의 카드를 넣고 조작하면 하나의 카드에서 다른 카드로 금액이 이동된다. 이 모든 것은 전화선을 이용해서 몬덱스 본사에 있는 컴퓨터와 접속되어 이루어진다. 몬덱스 카드를 쓰면 가맹점을 이용할 경우 현금이 전혀 필요 없고 또 자신의 거래내역을 컴퓨터가 정리해 주기 때문에 지출 상황 점검이 편리하다. 반면에 카드를 분실하게 되면, 현금과 동일한 것이므로 많은 손실을 입을 수 있다.
OTP
OTP는 3방식으로 구현이 된다.
시간동기
비동기화(이벤트)
질의응답
전자입찰 방식
전자투표 방식