본문 바로가기

CS BASIC/정보 보안

[CS BASIC] 피싱(phishing), 시스템 보안 공격 그리고 네트워크 보안 솔루션

개요

오늘은 피싱(phishing), 시스템 보안 공격 그리고 네트워크 보안 솔루션에 대해서 알아보도록 하겠습니다.

인터넷(Internet)에는 수많은 정보가 존재하고,  다수의 사용자는 이러한 정보를 찾기 위해 웹 브라우저를 통해서 간편하게 정보를 획득할 수 있습니다.

하지만, 인터넷에 올라갈 컨텐츠를 제공하는 공급자 중에는 악의적인 목적을 가지고 다른 회사나 단체를 모방하여 사용자로부터 부당하게 정보를 탈취하는 범죄행위를 하기도 합니다.

그리고 이렇게 악의적인 목적을 가지고 다양한 디지털 매체를 통하여 

기밀을 필요로 하는 정보를 취득하는 행위를 피싱(phishing)이라고 합니다.


피싱(phishing)이란?

  • 피싱(phishing)은 전자우편 또는 메신저를 사용해서 신뢰할 수 있는 사람 또는 기업이 보낸 메시지인 것처럼 가장함으로써, 비밀번호 및 신용카드 정보와 같이 기밀을 요하는 정보를 부정하게 얻으려는 소셜 엔지니어링(social engineering)의 한 종류입니다. 
  • ‘피싱’(phishing)이란 용어는 fishing에서 유래하였으며 프라이빗 데이터(private data)와 피싱(fishing)의 합성어입니다.
  • 즉 점점 더 복잡한 미끼들을 사용해서 사용자의 금융 정보와 패스워드를 ‘낚는’다는 데서 유래되었습니다.

 

피싱의 사례

사례 설명
파밍
(Phaming)
새로운 피싱 기법의 하나로, 사용자가 자신의 웹 브라우저에 정확한 웹 페이지 주소를 입력해도 가짜 웹 페이지에 접속하게 하여 개인 정보를 훔치는 공격 기법
스미싱
(Smishing)
문자 메시지를 이용하여 신뢰할 수 있는 사람 또는 기업이 보낸 거 t처럼 가장하여 개인 비밀정보를 요구하거나 휴대폰 소액 결제를 유도하는 공격 기법
큐싱
(Qshing)
스마트폰을 이용하여 금융 업무를 처리하는 사용자에게 인증 등이 필요한 것처럼 속여 QR 코드(Quick Response Code)를 통해 악성 앱을 내려받도록 유도하여 금융 정보를 빼내는 공격 기법
스피어 피싱
(Spear Phishing)
사회공학의 한 기법으로, 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도하여 사용자의 개인 정보를 탈취하는 공격 기법
봇넷
(Botnet)
악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터가 네트워크로 연결된 형태

 

시스템 보안 공격

악의적인 목적을 가진 해커는 서버와 같이 개인정보가 모인 소프트웨어의 취약점을 공격하여 정보를 탈취합니다.

 


시스템 메모리를 타겟으로 하는 보안 공격

사례 설명
스택 버퍼 오버플로우
 (Stack Buffer Overflow) 공격
- 메모리 영역 중 지역 변수(Local Variable)이나 함수의 리턴 주소가 저장되는 스택 영역에서 발생하는 오버플로우 공격
- 스택 영역에 할당된 버퍼 크기를 초과하는 양의 데이터(실행 가능 코드)를 입력하여 복귀 주소를 변경하고 공격자가 원하는 임의의 코드를 실행하는 공격 기법
힙 버퍼 오버플로우 공격 - 프로그램 실행 시 동적으로 할당되는 힙 영역에 할당된 버퍼 크기를 초과하는 데이터(실행 가능 코드)를 입력하여 메모리의 데이터와 함수 주소 등을 변경, 공격자가 원하는 임의의 코드를 실행하는 공격 기법
- 인접한 메모리(Linked-List)의 데이터가 삭제될 수 있으며, 해당 위치에 특정 함수에 대한 포인터 주소가 있으면 이를 악용하여 관리자 권한 파일에 접근하거나, 공격자의 특정 코드를 실행함.

 
시스템 메모리를 타겟으로 하는 보안 솔루션

위와 같은 외부의 위협(Threat)으로부터 정보를 보호하기 위한 방법, 솔루션으로는 아래와 같은 솔루션 등이 있습니다.
보안 솔루션 설명
스택가드(Stackguard) 활용 카나리(Canary)라고 불리는 무결성 체크용 값을 복귀 주소와 변수 사이에 삽입해 두고 버퍼 오버플로우 발생 시 카나리 값을 체크, 변할 경우 복귀 주소를 호출하지 않는 방식으로 대응하는 기법
스택쉴드(Stack Shield) 활용 함수 시작 시 복귀 주소를 Global RET이라는 특수 스택에 저장해 두고, 함수 종로 시 저장된 값과 스택의 RET 값을 비교해 다를 경우 오버플로우로 간주하고 프로그램 실행을 중단하는 기법
ASLR (Address Space Layout Randomization) - 메모리 공격을 방어하기 위해 주소 공간 배치를 난수화하고, 실행 시마다 메모리 주소를 변경시켜 버퍼 오버플로우를 통한 특정 주소 호출을 차단
- 리눅스에서 설정 가능함
안전한 함수 활용 프로그램 내에서 메모리 오버 플로우에 대한 취약점을 개선한 함수를 사용.

버퍼 오버플로우에 취약한 함수
stract(), strcpy(), gets(), scanf(), sscanf(), vsanf(), vssscanf(), sprintf(), vsprintf()

버퍼 오버플로우에 안전한 함수
strncat(), strncpy(), fgets(), fscanf(), vfscanf(), snprintf(), vsnprintf()
실행 제한 - 스택에서의 쓰기 권한 제한
- 스택에서의 프로그램 실행 금지
- 가능성이 있는 SUID 프로그램 제한

 

 

DRDos(Distributed Reflection DoS)

  • DRDos는 DDos와 마찬가지로 시스템의 가용성을 침해하는 공격의 유형입니다.
  • 하지만, 분산 즉 여러 지점으로부터 공격이 발생하고 DDos보다 공격 근원지 파악이 어려우며 공격 트래픽 생성 효율이 DDoS보다 훨씬 커서 시스템의 가용성을 해칠 수 있는 공격 기법입니다.

순서 공격 절차 설명
1 출발지 IP 변조 공격자는 출발지 IP를 공격 대상자 IP로 Spoofing 하여 SYN 패킷을 공격 경유지 서버로 전송
2 공격 대상자 서버로 응답 SYN 패킷을 받은 경유지 서버는 Spoofing된 IP(꽁격 대상자 서버)로 SYN/ACK를 전송
3 서비스 거부 공격 대상자 서버는 수많은 SYN/ACK를 받게 되어 서비스가 거부됨

 

 

랜드 어택(Land Attack)

  • 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격 기법
  • Dos의 한 가지 유형으로 출발지 IP와 목적지 IP를 같은 패킷 주소로 전송하여 공격 대상의 루프를 유발하여 가용성을 침해함

네트워크 보안 솔루션

외부의 침입자로부터 컴퓨터와 소프트웨어를 보호하기 위한 소프트웨어로는 아래와 같은 솔루션이 있습니다.
보안 솔루션 설명
방화벽
(FireWall)
- 미리 정의된 보안 규칙을 기반으로 외부로부터 불법 침입과 내부의 불법 정보 유출을 방지하고, 내/외부 네트워크 상호 간 영향을 차단하기 위한 보안 시스템
웹 방화벽
(WAF, Web Apllication Firewall)
- 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화된 보안장비
- SQL 인젝션, XSS 등과 같은 웹 공격을 탐지하고 차단하는 기능
네트워크 접근 제어
(NAC, Network Access Control)
- 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션
- 바이러스나 웜 등의 보안 위협으로부터 네트워크 제어 및 통제기능을 수행
침입 탐지 시스템
(IDS, Instrusion Detection System)
- 네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원 접근과 보안정책 위반 행위(침입)을 실시간으로 탐지하는 시스템
침임 방지 시스템
(IPS, Intrusion Prevention System)
- 네트워크에 대한 공격이나 침입을 실시간으로 차단하고, 유해 트래픽에 대한 조치를 능동적으로 처리하는 시스템
ex) 방화벽 기능이 포함된 모듈을 통해 접근을 제한
무선 침입 방지 시스템
(WIPS, Wireless Intrusion Prevention System)
- 인가되지 않은 무선 단말기의 접속을 자동으로 탐지 및 차단하고 보안에 취약한 무선 공유기를 탐지하는 시스템
통합 보안 시스템
(UTM, Unified Threat Management)
- 방화벽, 침입 탐지 시스템(IDS), 침입 방지 시스템(IPS), VPN, 안티바이러스, 이메일 필터링 등 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제공하는 시스템
가상사설망
(VPN, Virtual Private Network)
- 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션


보안 운영제체(Secure OS)

컴퓨터 운영체제의 커널에 보안 기능을 추가한 운영체제

 

  • 운영체제에 내재된 결함으로 인해 발생할 수 있는 각종 해킹으로부터 보호하기 위해 보안 기능이 통합된 보안 커널을 추가로 인식한 운영체제입니다.
  • 기본으로 열려 있는 취약 서비스를 모두 차단하여 계정 관리 및 서비스 관리에 있어 개선된 보안 체계로 운영합니다.

참고 자료
https://ko.wikipedia.org/wiki/%ED%94%BC%EC%8B%B1

 

피싱 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 컴퓨팅에서 피싱(phishing)은 전자우편 또는 메신저를 사용해서 신뢰할 수 있는 사람 또는 기업이 보낸 메시지인 것처럼 가장함으로써, 비밀번호 및 신용카드 정

ko.wikipedia.org