[079] 곳곳에 도사리는 위험
보안 위협은 대체로 세 가지 범주로 나뉨
- 클라이언트(사용자) 공격
- 서버(온라인 매장 또는 은행) 공격
- 전송 중인 정보 공격(무전 통신을 스누핑, NSA가 광케이블상의 모든 트래픽을 탈취)
[클라이언트 공격]
사용자에 대한 공격에는 스팸이나 추적 같은 단순 골칫거리 공격 및 신용카드 번호, 비밀번호 같은 개인 정보 유출이 포함 됨
추적을 줄이기 위한 방법
- 제3자 쿠키(방문 중이 아닌 다른 사이트에서 온 쿠키)를 금지
- 트래커(인터넷 추적에 사용되는 소프트웨어)를 비활성화 하는 브라우저 에드온 사용
- 자바 스크립트를 차단
스팸(spam)은 원치 않는 상품과 서비스를 권하는 성가신 메일
- 스팸 필터는 텍스트 분석(이상한 이름, 기묘한 철자 등)으로 진짜 메일과 스팸을 구별
- 스팸 필터링은 머신러닝의 주요 응용 분야
스팸은 군비 경쟁과 비슷
- 방어자가 한 가지 종류에 스팸에 대처 시, 공격자는 새로운 방법을 찾아냄
- 스팸은 출처가 숨겨져 있어 원천적으로 중단이 어려움
- 많은 스팸이 해킹된 개인 컴퓨터에서 전송됨
- 이런 컴퓨터는 윈도우 운영체제를 사용
보안 허점이 존재하거나 사용자의 관리가 소흘해지면 컴퓨터는 악성코드(malware)를 설치하는 공격에 취약
- 악성코드란 시스템을 손상시키거나 작동을 방해하려는 악의적인 소프트웨어
- 특정 악성코드는 외부 시스템의 제어 명령에 따라 스팸 메일을 많은 컴퓨터에 보냄
- 외부 시스템도 다른 컴퓨터에 의해 제어됨
- 단계가 늘어날수록 문제의 근원을 찾기가 훨씬 더 어려워짐
피싱(phishing) 공격은 도용에 사용할 수 있는 정보를 수신자가 자발적으로 넘겨주도록 설득하는 방법
- 대표적인 예시로 '나이지리아인' 사기 편지가 존재
- 대부분의 피싱 공격은 더 교묘함
- 표면적으로는 합법적인 기관 또는 친구나 동료가 보낸 것 같은 메일이 배달 됨
- 웹사이트를 방문하거나 문서를 읽거나 어떤 자격 증명을 확인하도록 요청
- 요청에 응하면 상대방은 사용자에 컴퓨터에 뭔가 설치하거나, 사용자에 대한 정보를 얻음
- 어느 쪽이든 상대방이 사용자의 돈이나 신원을 도용하거나, 사용자의 회사 시스템을 공격할 가능성이 생김
- 스팸과 마찬가지로 피싱도 비용이 거의 들지 않음
회사 정보, 친구 이름 등의 정보를 활용해 특정 사용자를 정확히 노린 표적 공격을 스피어 피싱(Spear Phishing)이라 함
- 스피어 피싱은 일종의 소셜 엔지니어링(social engineering)
- 개인적인 관계가 있는 척 하거나 같은 회사에서 일하는 척으로 피해자가 어리석은 일을 하도록 유도
- 페이스북이나 링크드인(Lkinkedin) 같은 곳에서 자신의 모습을 더 많이 공개할수록 표적이 되기 쉬움
스파이웨어(spyware)는 컴퓨터에서 실행되면서 사용자에 대한 정보를 다른 곳으로 보내는 프로그램
- 일부는 악의적인 공격이지만 가끔은 단순 상업적인 스누핑도 존재
- PC에 설치된 소프트웨어의 업데이트된 버전이 있는지 확인하는 것도 넓게 보면 포함
공격자가 개인용 컴퓨터에 좀비(zombie)를 설치하는 경우
- 좀비란 인터넷에 연결되어 적대적 행위를 수행하라는 명령을 받을 때 까지 기다리는 프로그램
- 이러한 프로그램은 봇(bot)이라고 불림
악당이 클라이언트 컴퓨터를 해킹해서 정보가 입력되는 시점에 도용하기도 함
- 파일 시스템에서 정보를 찾음
- 몰래 설치된 키 로거(Key logger)를 사용하여 비밀번호나 기타 데이터가 입력 될 때 캡처하는 방식
- 암호화는 이를 막는데 도움이 되지 않음
- 악성코드로 컴퓨터의 마이크와 카메라를 켤 수도 있음
악성코드가 컴퓨터에 있는 콘텐츠를 암호화하여 금액을 지불하기 전까지 사용할 수 없게 하기도 함
- 이러한 종류의 공격은 랜섬웨어(Ransomeware)라고 함
- 비용을 지불하면 암호화를 해제 가능한 복호화 비밀번호를 지급 받을 수 있음
더 단순한 랜섬웨어는 그저 컴퓨터가 악성코드에 감염됬다고 주장하면서 협박하는 화면을 띄움
- 이것은 일종의 스케어웨어(Scareware)라고 함
- 아무것도 건들지 않고 수신자 부담 번호로 전화를 걸어 돈을 주면 구출 됨
사용중인 브라우저나 소프트웨어에 취약점이 있으면 위험이 더욱 커짐
- 브라우저는 규모가 크고 복잡함
- 지금까지 사용자에 대한 공격을 허용하는 수많은 취약점이 존재
- 브라우저를 최신으로 유지하는 것은 부분적인 방어책
- 불필요한 정보를 공개하지 않거나 다운로드를 임의로 허용하지 않도록 브라우저 환경을 설정하는 것도 마찬가지
휴대전화에서 무심코 저지르기 가장 쉬운 위험한 행동은 개인 정보를 내보내는 앱을 다운로드 하는 것
- 앱은 휴대전화의 모든 정보에 접근 가능
- 휴대전화는 사용자가 자신을 방어하는데 도움을 주는 방향으로 천천히 개선되고 있음
- 다만 변화는 '천천히' 일어나고 있음
[서버 공격]
서버는 보통 데이터베이스의 지원을 받음
데이터베이스에는 SQL(Structured Query Language)이라는 표준 인터페이스를 사용해 접급
서버에서 자주 일어나는 공격 중 하나는 SQL 주입(SQL injection) 공격
- 사용자의 접근을 신중하게 제한하지 않는 경우 발생
- 공격자가 데이터베이스 구조를 드러내고 인가되지 않는 정보를 추출
- 공격자의 코드가 전체 시스템에 대한 통제권을 획득할 가능성도 존재
시스템이 해킹되면 피해를 입을 수 있는 범위에는 거의 제한이 없음
- 특히 공격자가 최고 수준의 관리자 권한인 '루트' 권한을 획득한 경우 더욱 그럼
- 이는 공격 대상이 서버든 개인용 컴퓨터든 마찬가지
- 개인용 컴퓨텅에 비해 서버에서는 데이터가 대량으로 도용 될 가능성이 높음
서버는 Dos(Denial of Service, 서비스 거부) 공격의 대상이 되기도 함
- Dos 공격자는 순전히 트래픽 용량만으로 사이트를 마비시키기 위해 대량의 트래픽이 사이트로 향하게 만듬
- Dos 공격은 흔히 봇넷으로 조정됨
- 해킹된 컴퓨터들이 특정 시간에 특정 사이트로 요청을 보내라는 명령을 받음
- 이는 조직화된 트래픽 범람으로 이어짐
- 많은 출처에서 동시에 오는 DoS 공격을 DDos 공격이라고 함
전송 중인 정보 공격
전송 중인 정보에 대한 공격은 앞에 두가지 공격에 비해 크게 중요하게 여겨지지 않음
- 하지만 여전히 심각한 문제고 흔히 발생하는 공격임
- 공격자가 사용자와 은행간의 대화를 도청하여 계좌 번호와 비밀번호를 수집
- 만약 사용자와 은행 간 트래픽이 암호화되어 있다면 도청자가 내용을 이해할 수 없음
- 개방형 무선 액세스 포인트를 제공하는 곳이면 어디서든 공격자가 암호화되지 않은 연결을 프로그램을 스누핑
https는 http의 다른 버전으로 TCP/IP 트래픽을 양방향으로 암호화
- HTTPS를 사용하면 도청자가 내용을 읽거나 대화 당사자 중 하나로 가장하는 일이 불가능
- https 사용이 빠른 속도로 늘어나고 있지만 아직 모든 웹사이트에 광범위하게 적용된 건 아님
중간자 공격이라는 공격이 존재하며, 공격자가 메시지를 가로채서 바꾼 다음 마치 원래 출처에서 바로 온것처럼 수신자에게 보내는 용도
- 적절한 암호화는 이러한 종류의 공격도 막아줌
- 국가 방화벽은 또 다른 종류의 중간자 공격으로, 트래픽을 느리게 하거나 검색 결과를 변경
VPN(Virtual Private Network)은 두 컴퓨터 간에 암호화된 통신 경로를 설정하여 일반적으로 정보 흐름을 양방향으로 안전하게 보호
- 다만 연결 기록을 남기지 않는다고 주장한 다수의 무료 VPN 서비스에 보안 침해 사고가 발생
- 사용자 연결 기록 정보 1TB 이상이 유출됨
보안 메시징 앱은 사용자 간에 암호화 된 음성, 비디오, 텍스트 통신을 제공
- 모든 통신에 종단 간 암호화가 적용
- 즉 서비스 제공 업체에는 없고 종단점에만 존재하는 키를 사용해 메시지가 발신지에서 암호화 되고 수신지에서 복호화된다는 뜻
- 이론상 아무도 도청하거나 중간자 공격을 가할 수 없음
유익해요~