본문 바로가기
Programming/DevOps, Tools

[보안] 사이버 공격

by kghworks 2023. 3. 29.

목차

  • 악성코드
  • 네트워크 공격
  • 참고

 

 사이버 공격은 인터넷을 통해 다른 컴퓨터에 접속해서 상대 컴퓨터에 손상을 입히려는 행위입니다. 공격대상은 개인부터 국가, 기업, 기관 다양합니다. 일반적인 공격 방식은 네트워크나 로컬호스트 상에 약점을 이용해 관리자 권한을 획득하여 접속한 뒤 공격을 진행했습니다. 그러나 최근에는 기술이 발전하면서 공격방식은 패킷 조작, 웹사이트 취약점 공략, 무선환경 기반을 이용하는 등 다양해졌습니다.

 이번 포스팅에서는 사이버 공격의 유형과 특징을 알아보고 사이버 공격에 대해 전반적인 이해를 해보겠습니다.


악성코드 (Malicous Code, Malware)

 악성코드는 악의적인 용도로 사용할 코드를 심은 유해 프로그램을 말합니다. 이 프로그램은 시스템을 손상시키거나 정보를 유출하는 등 다양한 유해를 가합니다. 대표적인 예로 바이러스, 웜, 트로이목마, 백도어, 스파이웨어, 랜섬웨어 등이 있습니다.  

 

 주로 무분별한 인터넷 사용 습관이 감염을 일으키는 원인입니다. 온전하지 못한 사이트에 진입하는 행위는 공격자의 악성코드에 노출되기 취약합니다. 따라서 불완전한 웹사이트 방문 자제, 스팸 메일 링크 클릭 안 하기, 보안 프로그램 등을 통해 예방하도록 합니다. 

 

바이러스 (Virus, Computer Virus)

 인간세계의 바이러스 특징이 그대로 반영된 악성코드입니다. 시스템 (파일)에 들어가 자신을 복제하면서 증식해서 시스템을 파괴하는 것이 목적입니다. 저수준의 언어를 사용하고, 다양한 변종을 일으키는 것이 특징입니다.  바이러스의 주요 공격 대상은 파일과 부트섹터입니다. 일반적인 바이러스 동작 방식은 다음과 같습니다.

 

  1. 감염된 프로그램 실행 시 바이러스 활동 시작
  2. 바이러스가 감염시킬 대상 (파일)을 탐색
  3. 이미 감염된 파일은 배제
  4. 감염되지 않은 파일은 앞(혹은 뒷부분)에 악성코드 삽입 (감염 시작)
  5. 악성코드가 먼저 실행된 뒤 정상 프로그램이 실행
  6. 바이러스는 메모리에 남아 다른 파일들로 감염을 계속 이어나감

 

웜 (Worm)

200년대 초의 블래스터 웜 바이러스

 컴퓨터의 취약점을 찾아 네트워크를 통해서 돌아다니며(자동으로 검색하며) 스스로 감염되는 악성코드입니다. 전파력이 빠르기 때문에 피해시스템이 기하급수적으로 늘어납니다.

 

트로이 목마 (Trojan Horse)

트로이목마 개념 (출처 : 안철수연구소)

 정상적인 프로그램으로 가장해서 애초부터 프로그램 내에 잠식해 있다가 의도치 않은 기능을 수행하게 하는 악성코드입니다. 정상적인 프로그램으로 가장하기 때문에 사용자들은 거부감 없이 프로그램을 설치합니다. 실행될 때에도 정상적인 기능을 거치는 것처럼 보이지만 내부적으로는 비인가된 기능 (개인정보 유출, 파일 원격 조정)을 수행하게 됩니다.  웜과 달리 스스로 전파 능력이 없습니다. 

 

백도어 (Backdoor)

// 아이디가 "admin"이면 패스워드를 자동으로 입력해서 로그인하는 코드
if("admin".equals(userID)){
    password = "123456789";
    validateUser();
}

 백도어는 다만 공격자만이 만드는 악성코드가 아닙니다. 일반적으로 공격자가 시스템에 침입한 뒤 다음에도 손쉽게 시스템에 침입할 수 있도록 설치하는 악성코드입니다만, 개발자 (설계자, 관리자)가 고의로 백도어를 남겨두기도 합니다. 디버깅 시 인증 등의 불필요한 절차를 회피하기 위하거나, 셋업시간 단축, 관리자의 편의성 등이 그 이유입니다. 그러나 개발이 완료된 뒤 삭제하지 않은 백도어는 다른 공격자들에게 악용될 가능성이 있어 대단히 위험합니다. 

 

스파이웨어 (Spyware)

 다른 사람의 컴퓨터에 설치되어 개인정보를 탈취하는 악성코드입니다. 특정 웹페이지에 접속했을 때 관련 필수 소프트웨어로 가장하여 설치되는 경우가 가장 많습니다. 최초에는 이는 정보수집이 목적이었지만 점차 정보 유출을 위해 악의적으로 사용되고 있습니다. 

 

랜섬웨어 (Ransomeware)

출처 : https://www.nomoreransom.org/ko/index.html

 사용자의 중요정보 (개인정보 등)을 인질 삼아 금전을 요구하는 방식입니다. 사용자의 중요한 정보들 (그림, 문서, 파일 등)을 아주 유명한 알고리즘 (RSA, AES)을 이용해 통째로 암호화시킵니다. 해다 알고리즘들은 키(key)를 모르면 절대 풀지 못하는 것을 이용하여 키로 복호 해줄 테니 비트코인등과 같은 금전을 요구하는 형태입니다. 비교적 최근에 들어 유행하는 방식입니다.

 

SQL injection (SQL 삽입, SQL 주입)

교통정보 수집 카메라에 sql 인젝션 하기 ㅋㅋㅋㅋ

 악성코드를 sql로 작성하여 벡엔드에서 운용중인 데이터 베이스의 정보를 탈취해 가는 것입니다. 공격자가 원하는 쿼리를 피해자 데이터베이스에 질의할 수 있습니다. 공격 난이도는 쉬우나, 그 피해는 엄청나기 때문에 보안 코딩을 하는 개발자들에게 필수 방어 대상입니다.

 기본적인 방어 방법은 유저의 입력값을 그대로 데이터베이스에서 실행하는 설계보다는 입력값을 변수화하여 쿼리를 가공해 데이터베이스에 질의할 수 있도록 하는 것입니다.

 

XSS (Cross Site Scripting, 크로스 사이트 스크립팅)

 xss는 웹사이트에 악성 스크립트 (javascript)를 주입하는 것을 말합니다. 웹사이트에 악성 스크립트를 주입한 뒤 다른 사용자가 해당 페이지에 방문하면 악성 스크립트를 방문자의 쿠키가 해커에게 전송됩니다. 쿠키를 가로챈 해커는 사용자의 권한을 획득하거나, 웹사이트 위변조 등 공격을 시작할 수 있습니다. 주 목적은 사용자 정보를 도용하여 사용자 계정을 제어하고자 하는 것입니다. 


네트워크 공격

스캐닝 (Scanning)

 스캐닝 자체는 공격으로 볼 수없으나 스캐닝을 악용하여 공격 이전의 사전 정보수집 용도로 사용하는 경우입니다. 공격 대상의 취약점을 발견하기 위한 도구로서 사용됩니다. Nmap, Acunetix 등이 있다. 사전에 취약점을 점검하고 조치를 취하여 예방하도록 합니다.

 

스푸핑 (Spoofing)

 공격자의 제어권에 있는 호스트를 피해 호스트가 신뢰하는 호스트로 가장시킨 뒤 피해 호스트로부터 생성되는 정보를 수집 (탈취)합니다. IP 스푸핑, DNS스푸핑, web 스푸핑 등이 있습니다.

 

스니핑 (Sniffing)

 네트워크 상에 통신하고 있는 데이터를 도청하는 것입니다. 단순히 도청하는 Passive 스니핑과 도청하고 변조하는 Active 스니핑이 있습니다.

 

서비스 거부 (Denial of Service, Dos) 공격 

 Denial of Service. 특정 서비스 (자원, 시스템)의 가용성을 떨어뜨리도록 하게 하는 모든 공격을 말합니다. 서비스가 수용 가능한 이상의 대량 데이터를 전송하거나, 많은 네트워크 request를 요청하는 등입니다. 

 

분산 서비스 거부 (Distributed Denial of Service, DDos) 공격 

  1. 여러 호스트를 대상으로 감염시켜 공격 데몬 설치
  2. 특정 일시에 공격 데몬 일제히 작동
  3. 다수의 호스트가 특정 서비스에 Dos 공격 진행

 효율적인 공격을 위해 공격 패턴이 에이전트화, 분산화, 자동화, 은닉화가 돼 가면서 DDos는 최근 가장 화제가 되고 있는 사이버 공격입니다. 

 

http://m.cine21.com/news/view/?mag_id=68454

 

[정훈이 만화] <오싹한 연애> 국밥집 디도스 사건

 

m.cine21.com

* 디도스 공격을 국밥집에 비유한 만화

 

스팸 메일 (Spam Mail)

 불특정 다수에게 일방적으로 대량의 메일을 발송합니다. 해당 메일에는 광고, 홍보 등의 목적성이 있는 메일입니다. 발신자의 도메인 진위를 확인하여 차단하는 방법이 예방률이 높습니다. 외에도 통계기법을 활용하여 자주 사용되는 스팸 단어 등을 filtering 하는 방법도 있습니다.

 

피싱 (Phishing)

 유명 공공기관, 은행 등을 사칭하여 수신자가 믿게 만들고, 수신자로부터 개인정보나 금융정보 등을 얻어내는 공격입니다.

웹페이지가 마치 실제 사이트처럼 설계되어 있고, 심지어 URL 까지도 실제 사이트와 같아 구분이 힘듭니다. 따라서 의심이 가는 링크는 클릭하지 않거나, 직링크가 아닌 해당 사이트에 직접 방문하여 찾아 들어가 프로세스를 진행하는 등으로 예방할 수 있습니다. 

https://m.kmib.co.kr/view.asp?arcid=0017555416 

 

‘naver.pay’ 주소, 속았다…8천만원 사기친 피싱사이트

네이버가 만든 결제 플랫폼 ‘네이버페이’와 화면이 똑같고 주소도 비슷한 가짜사이트가 사기에 이용된 사례가 잇따라 주의가 요망된다.10일 SBS에 따르면 사

m.kmib.co.kr

https://help.naver.com/service/5640/contents/18984?lang=ko 

 

로그인 피싱 방지 방법 : 회원정보 고객센터

피싱(Phishing)이란 개인 정보(Private Data)와 낚시(Fishing)의 합성어로 빈번히 일어나는 금융 사기 수법입니다.​■ 로그인 피싱이란?​은행, 인터넷 쇼핑몰 등 유명 업체의 위장 홈페이지를 만든 후

help.naver.com

 

APT (Advanced Persistent Threat, 지능형 지속 공격)

 공격 대상을 목표로 다양한 공격을 사용해서 은밀하고, 지속적으로 공격하는 방법입니다. 

  • 목적성 : 목표 공격 대상에 특화된 공격 방법 적용
  • 지속성 : 공격이 성공할 때까지 지속적으로 시도
  • 은밀성 : 오랜 시간 지속적으로 공격해도 탐지되지 않기 위해 은밀하게 진행

 


참고

https://www.ibm.com/kr-ko/topics/cyber-attack

 

사이버 공격이란? | IBM

사이버 공격은 컴퓨터 시스템에 무단 액세스하여 정보를 도용, 노출, 변경, 비활성화하거나 파괴하려는 원치 않는 시도입니다.

www.ibm.com

 

댓글