open:security

Security

  • 공격자가 입력 폼 및 URL 입력란에 SQL문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 보안 취약점

보안대책

  • Prepared Statement 객체 등을 이용하여 DB 컴파일된 쿼리문(상수)을 전달하는 방법 사용
  • Parameterized Statement 를 사용하는 경우, 외부 입력데이터에 대하여 특수문자 및 쿼리 에약어 필터링
  • Structs, Spring 등과 같은 프레임워크를 사용하는 경우 외부 입력값 검증 모듈사용

방화벽

  • 각종 로깅 기능 및 정보 생성 및 관리가 용이하다.
  • 방화벽 기능 외에는 유틸리티를 삭제한다.
  • IP포워딩 및 소스 라우팅 기능이 없어야 한다.
  • 손상되면 내부 네트워크를 보호할 수 없다.

베스천 호스트는 보호된 네트워크에서 유일하게 외부에 노출된 내·외부를 연결하는 연결점으로 사용되는 호스트를 말한다. 방화벽 소프트웨어가 설치되는 호스트로 보안 취약점이 완전히 제거되어 있는 상태의 시스템을 의미한다. 베스천호스트는 내부 네트워크 전면에서 내부 네트워크 전체의 보안을 책임지는 호스트이기 때문에 공격자의 목표가 되기 쉽다.

  • 일반적인 라우터 기능 외에 추가적으로 패킷 해더 내용을 보고 패킷 통과 여부를 결정 할 수 있는 필터링(스크린) 기능을 가지고 있다.
  • 필터링 속도가 빠르고 비용이 적게 든다.
  • 하나의 스크린 라우터로 내부네트워크 전체를 보호할 수 있다.
  • 네트워크 계층과 전송계층에만 방어가 가능하다.
  • 패킷 필터링 규칙을 검증하기 어렵다.
  • 스크린 라우터의 통과 또는 거절에 대한 패킷 기록을 관리하기 어렵다.
  • 두 개의 랜카드를 가진 베스천호스트 구조를 말한다. 하나의 랜카드는 내부 네트워크를 가지고 다른 랜카드는 외부 네트워크에 연결되지만 두 네트워크 간에 라우팅은 허용하지 않는다.
  • 응용서비스 종류에 조금 더 종속적이기 때문에 스크린 라우터보다 안전하다.
  • 각조오 기록 정보를 생성 및 관리하기 쉽다.
  • 설치 및 유지보수가 쉽다
  • 게이트웨이가 손상되면 내부 네트워크를 보호할 수 없다.
  • 로그인 정보가 유출되면 내부 네트워크를 보호할 수 없다.
  • 베스천 호스트와 스크리니 라우터 방식이 혼합되어 구성된 방식이다.
  • 외부 네트워크와 내부 네트워크 사이에 베스천 호스트가 위치하는 방식이다.
  • 스크린 라우터와 베스천 호스트 두 번을 거쳐야 하기 때문에 보안성이 강화된다.
  • 네트워크 계층과 응용계층에서 방어하기 때문에 공격이 어렵다.
  • 가장 많이 사용되는 방화벽 시스템이며 융통성이 좋다.
  • 듀얼 홈 게이트웨이 장점을 그대로 가진다.
  • 단일 포인트 장애가 났을 때 전체 네트워크가 마비되고 두 번 거치기 때문에 속도 지연이 발생한다.
  • 스크린 라우터의 라우팅 테이블이 변경이 되면 이를 방어할 수 없다.
  • 방화벽 시스템 구축비용이 크다.
  • 외부 스크린 라우터와 베스천 호스트를 통과한 후에 다시 내부 스크린 라우터를 통과하는 다단계 방화벽 구조로 상당히 강력한 보안을 제공한다.
  • 각 다른 방화벽 구조의 장점을 지니고 있으며, 다계층으로 되어 있어 가장 강력한 보안성을 제공한다.
  • 융통성이 뛰어나다
  • 다른 구조보다 설치하기 어렵고 관리하기 힘들다.
  • 방화벽 구축비용이 많이 든다.
  • 서비스 속도가 느리다.

OWASP(Open Web Application Security Project)

  • 국제 웹 보안 표준을 연구하는 단체
  • OWASP는 국제웹보안 표준단체이며, 가장 심각한 웹 어플리케이션의 보안위협 10가지를 3년에 한번씩 공개적으로 발표함
  • A1 - 인젝션
  • A2 - 인증 및 세션관리 취약점
  • A3 - 크로스사이트 스크립팅
  • A4 - 취약한 직접객체 참조
  • A5 - 보안설정 오류
  • A6 - 민감데이터 노출
  • A7 - 기능 수준의 접근 통제누락
  • A8 - 크로스 사이트 요청변조(CSRF)
  • A9 - 알려진 취약점이 있는 콤퍼넌트 사용
  • A10 - 검증되지 않는 리다이렉트 및 포워드

웹 취약점

  • 웹 서버에느느 현재 브라우징하는 디렉토리의 모든 파일을 사용자에게 보여줄 수 있는 디렉토리 인덱스 기능이 존재하는데, 이런 설정이 활성화되어 있는 경우 공격자가 웹 어플리케이션의 구조를 파악할 수 있는 기회를 제공하게 되는 취약점
  • 리눅스 시스템에서 조치

<Directory "/usr/local/www">
Options Indexes ← 제거한다.
</Directory>

  • 공격자가 사용자의 Cookie 값이나 Session 정보를 의도한 사이트로 보내거라 특정한 동작을 유발하는 스크립트를 글에 삽입하여 사용자가 게시물 등을 클릭할 경우 공격자가 원하는 동작이 실행되게 하는 취약점

<Directory "/usr/local/apache">
AllowOverride FileInfo(또는 All)
...
</Directory>

웹방화벽

  • 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 필터는 항상 서버 프로세스에서 실행된다.

침입차단시스템

  • 가장 기초적인 방화벽 시스템으로 네트워크계층과 전송계층에서 동작하는 방식이다.
  • 다른 방식에 비해 속도가 빠른 장점이 있다.
  • 낮은 레이어에서 동작하기 때문에 기존 어플리케이션과 연동이 용이하다.
  • 하드웨어에 의존적이지 않으나 강력한 로깅 기능과 인증을 기대하기 어렵다.

침입탐지시스템 (Intrusion Detection System)

  • 사용자 및 외부침입자가 컴퓨터 시스템 네트워크 자원을 권한 없이 불법적으로 사용하기 위한 시도 또는 내부 사용자가 권한을 오용하여 권한 이외의 자원을 사용하기 위한 시도를 탐지하여 그 피해를 최소화하는 시스템

각 호스트 내에서 운영체제 감사(Audit)와 시스템 로그분석, 프로세스 모니터링을 통한 침입탐지 시스템

  • 개별 호스트의 O/S 가 제공하는 보안감사 로그, 시스템 로그, 사용자 계정 등의 정보를 이용해서 호스트에 대한 공격을 탐지
  • 각 호스트에 상주하는 Agent와 이들을 관리하는 Agent Manager로 구성
  • 중요한 시스템 파일이나 실행코드에 대한 무결성 검사 기능이나 시스템의 취약점들을 탐지해 주는 취약점 스캐너(Vulerability Scanner) 등과 결합되어 사용한다.
  • 특정 시스템과의 O/S와 밀접히 결합되어 각종 행위를 분석하므로 정교한 모니터링과 로깅이 가능하다.
  • IDS 문제 발생시 해당 호스트에 영향을 미치며 IDS 로 인해 시스템에 부하를 크게한다.

프로미스큐어스(Promiscuous) 모드로 동작하는 NIC를 통하여 패킷을 캡처 후 분석을 통한 침입탐지 시스템

  • 네트워크 기반의 공격을 탐지하여 네트워크 기반 구조를 보호하는 것이 목적
  • 호스트 기반의 IDS처럼 호스트에 대한 공격을 탐지하거나 상세한 기록을 남길 수는 없으며, 네트워크가 분할 되어 있는 경우 제 기능을 발휘하지 못하거나 적용 범위가 제한되어 실용성이 없는 경우도 있다.
  • NIC 를 통해 패킷을 수집하여 수동적인 분석을 하기 때문에 기존 네트워크에 영향을 주지 않고 설치가 가능하다.
  • 정보수집
  • 정보가공 및 축약
  • 침입분석 및 탐지
  • 보고 및 조치

공격

  • 공격자가 중요한 네트워크 리소스의 DNS 도메인 이름, 컴퓨터 이름, IP주소를 알아내기 위해 DNS 영역 데이터를 가져오는 프로세스
  • 일반적으로 공격자는 DNS 데이터를 사용하여 네트워크 다이어그램으로 나타내는 공격
  • 취약한 DNS 서버에 조작된 쿼리를 전송하여 DNS 서버가 저장하고 있는 주소 Cache 정보를 임의로 변조하는 공격

DNS Cache 란?
DNS 서버에 대한 반복적인 DNS 쿼리를 수행하지 않도록 쿼리에 대한 응답을 저장하여 네트워크 트래픽과 DNS 운영에 대한 성능을 향상시키기 위해 제공되는 서비스

  • 도메인 네임 시스템이 가지고 있는 보안 취약점을 극복하기 위한 DNS 확장 표준 프로토콜

보안요구사항

  • 책임추적성 (Accountability)
    • 멀티태스킹이 지원되는 네트워크환경에서 누가, 언제, 어떤 행동을 하였는지 기록하여 필요시 그 행위자를 추적 가능하게 하여 책임소재를 명확하게 할 수 있는 보안요구사항

전자화폐

  • 몬덱스(Mondex)

영국의 몬덱스 회사에서 실용화된 전자화폐 서비스를 최초로 실시하여 생긴 카드이다. 이 카드에는 IC칩이 내장되어 있어서 카드 소유자의 예금에 대한 정보가 들어있다. 카드 사용자들이 물건을 구입한 후에 몬덱스 카드를 상점에 제시하면 온라인기계에 넣고 대금결제를 하고 자동으로 금액이 계좌에서 빠져나가게 된다.
이러한 몬덱스 지갑이라고 불리는 전자 지갑에 두 사람의 카드를 넣고 조작하면 하나의 카드에서 다른 카드로 금액이 이동된다. 이 모든 것은 전화선을 이용해서 몬덱스 본사에 있는 컴퓨터와 접속되어 이루어진다. 몬덱스 카드를 쓰면 가맹점을 이용할 경우 현금이 전혀 필요 없고 또 자신의 거래내역을 컴퓨터가 정리해 주기 때문에 지출 상황 점검이 편리하다. 반면에 카드를 분실하게 되면, 현금과 동일한 것이므로 많은 손실을 입을 수 있다.

OTP

  • OTP는 3방식으로 구현이 된다.
  • 시간동기
    • 정해진 시간마다 OTP 값이 자동으로 생성
  • 비동기화(이벤트)
    • OTP기기의 버튼을 누를때마다 OTP 값이 생성
  • 질의응답
    • 인증서버에서 발생한 질의값을 OTP기기에 입력하여 응답값을 생성

전자입찰 방식

  • LKR 방식
    • S/MIME와 같이 안전한 전송로를 구축함으로써 제3자의 도청 및 변조를 방지하고 입찰 내용에 해쉬를 취하여 입찰자의 서명을 붙임으로써 무결성 및 부인방지를 가능하게 하는 방식

전자투표 방식

  • PSEV(Poll Site E-Voting)
    • 지정된 투표소에서 전자투표를 하는 방식으로 유권자가 투표소 화면 인터페이스를 이용하여 수행하고, 전자투표 기기를 선거이단이 관리하므로 대부분의 안전성이 높고 국민투표에 활용 가능성이 높은 방식

  • open/security.txt
  • 마지막으로 수정됨: 2020/06/02 09:25
  • 저자 127.0.0.1