제로 데이 공격을 방지하는 방법


21

일반적으로 모든 안티 바이러스 프로그램 및 IPS 시스템은 서명 기반 기술을 사용하여 작동합니다. 그러나 이것은 제로 데이 공격 을 막는 데 큰 도움이되지 않습니다 .

따라서 제로 데이 공격을 방지하기 위해 무엇을 할 수 있습니까?


1
제로 데이 악용으로 일부 소프트웨어를 실행하더라도 아래에 제안한 답변의 요점 외에도. 공용 인터넷에서 해당 시스템을 실행하지 않으면 직접 취약하지 않습니다. 따라서 방화벽은 당신의 친구이며, 새로운 보안 위험 소프트웨어를 실제로 실행하려면 클라우드의 다른 네트워크에서 방화벽을 설정하여 해킹 당하고 다른 시스템에는 영향을 미치지 않을 수 있습니다.
Tom H

제로 데이와 알려지지 않은 위협은 휴리스틱이 그만한 가치가있는 안티 바이러스 / 안티 멀웨어 소프트웨어에 사용되는 이유입니다. 불행히도 휴리스틱은 성능 저하로 인해 종종 비활성화됩니다.
John Gardeniers

0days는 범주 일 뿐이며이 범주의 각 구성원은 다른 범주와 매우 다릅니다. 0 일에 대한 보안 구현을 고려할 수 없습니다. 결국 은밀한 침입과 작동하지 않는 익스플로잇 또는 탐지 된 익스플로잇간에 차이를 만드는 것은 보안 시스템의 품질입니다. 누군가 말했듯이 감지 및 빠른 응답 시간에 중점을 둡니다. 보안 업데이트를 통해 각 시스템, 트래픽을 모니터링하고 최신 상태를 유지하십시오. 정규직이거나 최소한 그래야합니다.
Aki

아마 너무 여기에서 좋은 답변을 얻을 - security.stackexchange.com
Bratch

리눅스 어디서나. 창문이 없습니다. 구글에 문의하십시오.
Neil McGuigan

답변:


37

나는 당신이 흥미로운 sys-admin 진실을 인정한다고 생각합니다.

당신이 감소하지 않는 한 제로로 해킹의 가능성이결국을 , 어떤 시점에서, 당신은 해킹 얻을려고하고있다 .

이것은 수학과 확률의 기본 진리이며, 이벤트가 0이 아닌 확률에 대한 것입니다. 결국에는 ...

따라서이 "해킹 된"이벤트의 영향을 줄이는 두 가지 황금 규칙 은 다음과 같습니다.

  1. 최소 특권의 원칙

    서비스 작업을 완료하는 데 필요한 최소한의 권한으로 사용자로 서비스를 실행하도록 구성해야합니다. 해커가 컴퓨터에 침입 한 후에도 해커를 포함 할 수 있습니다.

    예를 들어, Apache 웹 서버 서비스를 제로 데이 악용하여 해커가 시스템에 침입하면 해당 프로세스에서 액세스 할 수있는 시스템 메모리 및 파일 리소스로 제한 될 가능성이 높습니다. 해커는 html 및 php 소스 파일을 다운로드하고 mysql 데이터베이스를 살펴볼 수는 있지만 침입자가 아파치 액세스 파일 이상으로 침입을 확장하거나 확장 할 수는 없습니다.

    많은 기본 Apache 웹 서버 설치는 기본적으로 'apache'사용자 및 그룹을 작성하며 해당 그룹을 사용하여 아파치를 실행하도록 기본 Apache 구성 파일 (httpd.conf)을 쉽게 구성 할 수 있습니다.

  2. 권한 분리의 원칙

    웹 사이트에서 데이터베이스에 대한 읽기 전용 액세스 권한 만 필요한 경우 읽기 전용 권한 만 있고 해당 데이터베이스에만 액세스 할 수있는 계정을 만드십시오.

    SElinux는 보안 컨텍스트를 생성하기에 좋은 선택이며 app-armor 는 또 다른 도구입니다. 바스티유 는 경화를위한 이전의 선택이었습니다.

    손상된 "서비스"의 기능을 자체 "박스"로 분리하여 공격의 결과를 줄입니다.

실버 규칙도 좋습니다.

사용 가능한 도구를 사용하십시오. (보안 전문가 인 사람과 마찬가지로 할 수있을 가능성이 적으므로 자신의 재능을 사용하여 자신을 보호하십시오.)

  1. 공개 키 암호화는 뛰어난 보안을 제공합니다. 사용해. 어디에나.
  2. 사용자는 바보이며 암호 복잡성을 강화합니다
  3. 위의 규칙에 예외를 두는 이유를 이해하십시오. 예외 사항을 정기적으로 검토하십시오.
  4. 실패를 설명 할 사람을 잡아라. 그것은 당신의 발가락에 당신을 유지합니다.

이것이 사실이라고 생각합니다. 정의에 따르면 0 일 악용을 막기 위해 할 수있는 일은 많지 않습니다. 취약한 소프트웨어가있는 경우 취약한 소프트웨어가 있으므로 영향과 공격 영역을 줄이는 것이 유일한 조치입니다. 예를 들어 MS Outlook에 대한 0 일 익스플로잇은 전자 메일을 통해 전자 메일로 전송 될 수 있다는 점을 염두에 두어야하지만 방화벽에 대한 훌륭한 지적입니다.
Dan

2
네, MS 메일 제품에 대한 요점입니다. 그러나 모든 VBscript, ActiveX, OLE 유형 확장 기능을 비활성화 한 모든 사람은 메일에 대한 방화벽과 유사하게 모든 해킹을 완전히 잊어 버렸을 것입니다. ;-)
Tom H

1
+1이지만 실버 룰 1에 의거 "암호를 사용하여 자신의 문제를 해결할 수 있다고 생각하는 사람은 자신의 문제를 이해하지 못하고 암호를 이해하지 못합니다." -Needham / Lampson;)
땅콩

@Peanut 암호를 사용하지 않기 때문에 공개 키를 좋아합니다. 이론적 침입 후에는 재설정 할 비밀번호가없고 공개 키만 손상되므로 비밀번호를 재설정 할 필요가 없습니다. 해시 된 비밀번호 데이터베이스도 오프라인 크랙 계정을 확인하는 데 사용할 수 있습니다.
Tom H

@TomH 내 의견은 뺨에 혀가 있었다 :) 흥미로워 서, 아마도 시스템에서 서버는 클라이언트에게 nonce + 다른 데이터를 서명으로 보내고 클라이언트는 username + 서명 된 데이터를 사용하여 로그인합니까?
땅콩

16

허용 목록, 차단 목록에 포함시키지 마십시오

블랙리스트 접근법을 설명하고 있습니다. 화이트리스트 접근 방식이 훨씬 안전합니다.

독점 클럽은 들어올 수없는 모든 사람을 열거하려고 시도 하지 않습니다 . 그들은 들어올 수있는 모든 사람들을 나열하고 목록에없는 사람들을 제외시킬 것입니다.

마찬가지로 컴퓨터에 액세스 해서는 안되는 모든 것을 나열하려고 시도하는 것이 끝났습니다. 짧은 프로그램 / IP 주소 / 사용자 목록에 대한 액세스를 제한하는 것이 더 효과적입니다.

물론, 다른 것들과 마찬가지로 이것은 약간의 절충이 필요합니다. 특히, 화이트리스트는 매우 불편하고 지속적인 유지 보수가 필요합니다.

트레이드 오프를 더욱 발전시키기 위해 네트워크에서 머신을 분리하여 보안을 강화할 수 있습니다.


+1 Tom H의 답변에 추가되었습니다.
채드 해리슨

1
위험은 이해, 유지, 설명, 감사 할 수없는 규모로 성장하는 규칙 세트에 있습니다. 치명적입니다.
rackandboneman 1

11

탐지가 예방보다 쉽고 안정적입니다.

정의상 제로 데이 공격을 막을 수는 없습니다. 다른 사람들이 지적했듯이, 제로 데이 공격의 영향을 줄이기 위해 많은 일을 할 수는 있지만 이야기의 끝은 아닙니다.

또한 공격이 발생한시기, 공격자가 수행 한 작업 및 공격자가 수행 한 작업을 탐지하는 데 리소스를 사용해야합니다. 해커가 수행 할 수있는 모든 활동에 대한 포괄적이고 안전한 로깅은 공격을보다 쉽게 ​​탐지 할 수있게하며, 더 중요한 것은 공격으로부터 복구하는 데 필요한 피해와 치료를 결정하는 것입니다.

많은 금융 서비스 환경에서 트랜잭션 실행시 지연 및 오버 헤드 측면에서 보안 비용이 너무 높아서 사기성 트랜잭션을 감지하고 역전하는 데 자원을 집중시키는 것이 처음에는이를 방지하도록 설계된 광범위한 조치를 취하는 것이 더 합리적입니다. . 이론은 100 %의 효과가 100 % 효과적이지 않기 때문에 탐지 및 반전 메커니즘을 구축해야한다는 것입니다. 더욱이,이 접근법은 시간의 시험을 견뎌냈습니다.


1
+1 그래, 난 당신이 응답 당신이 모르는 수없는 경우에 생각의 일이 ... 아마 대해 뭔가에 갇혀 것 대답하는 또 다른 기회가 주어 SANS 6 단계를 ...
톰 H를

+1, 매우 사실입니다. 예방에는 감사가 필요합니다. 감사는 시스템에 결함이 없음을 증명할 수 없습니다.
Aki

@Tom, 언제든지 답변을 편집 할 수 있습니다.
Old Pro

4

제로 데이는 서명을 알 수 없다는 의미는 아닙니다. 이는 소프트웨어 사용자가 사용할 수있는 패치가 없기 때문에 취약점을 닫습니다. 따라서 IPS는 제로 데이 취약점을 악용하는 것을 방지하는 데 유용합니다. 그러나 당신은 그것에 의존해서는 안됩니다. 견고한 보안 정책을 만들고 따르고 서버를 강화하고 소프트웨어를 업데이트하며 항상 '계획 B'


3

Grsecurity 또는 SELinux는 커널을 강화하여 0 일 공격을 방지하는 데 도움이됩니다.

웹 사이트의 인용 "그런 보안 만 제공하면 제로 데이 및 기타 고급 위협에 대한 보호 기능을 제공하여 관리자에게 귀중한 시간을 산다.


2

Apache를 사용하는 경우 mod_security 와 같은 모듈을 사용 하면 일반적인 공격 경로를 방지 할 수 있습니다. mod_security를 ​​사용하면

  • SQL 주입 공격과 같은 요청 차단
  • 일부 RBL에서 IP 주소가 블랙리스트에있는 클라이언트 차단
  • 정의한 일부 조건이 충족되면 요청을 다른 장소로 리디렉션
  • 고객 국가를 기반으로 요청 차단
  • 일반적인 악성 봇 자동 탐지 및 차단

... 그리고 훨씬 더. 물론, mod_security와 같은 복잡한 모듈을 사용하면 실제 클라이언트도 차단할 수 있으며 서버 측에서는 mod_security에 약간의 오버 헤드가 추가됩니다.

또한 서버 소프트웨어를 업데이트 된 상태로 유지하고 사용하지 않을 모든 모듈 및 데몬을 비활성화했는지 확인해야합니다.

강력한 방화벽 정책은 필수이며 대부분의 경우 SELinux 또는 grsecurity와 같은 추가 보안 기능 향상으로 공격이 중지 될 수 있습니다.

그러나 당신이 무엇을하든 나쁜 사람들은 참을성 있고 창의력이 뛰어나고 숙련됩니다. 해킹 당했을 때해야 할 일에 대한 자세한 계획을 세우십시오.


1

몇 가지 청동 규칙을 추가하고 싶습니다.

  1. 노출 된 경우 실행할 필요가없는 것을 실행하지 마십시오.

  2. 전용의 표적 공격에 적합한 대상이되지 마십시오.

  3. 이러한 표적 공격에 대비하는 것은 어쨌든 비 경제적 / 실용적이지 않은 경우가 많습니다. 무엇을 깨뜨리는 데 관심을 가질 수 있는지 누가 확인하고 시작하십시오.

  4. "외부 적으로 사용 가능한 정보를 최소화"하고 "잘 알려진 기본값을 벗어나는"것을 모호한 보안 (보통 "불충분 한 계층"이 아닌 "무가치 한"으로 오해 됨)으로 간주하는 것만으로도 오만은 무시할 수 있습니다. 문에 해킹 가능한 자물쇠는 도둑을 막지 않지만 늑대를 막을 것입니다.


1

거대한 보안 제품군을 갖춘 부풀린 기계는 보통 평범한 PC를 공룡으로, 쿼드 코어를 보통의 오래된 PC로 만듭니다. 나는 그것이 사실임을 이해하기에 충분히 (수천) 수정했습니다. 보안이 100 %라는 것을 알지 못한다면 보안의 가능성에 따라 성능 비용이 기하 급수적으로 하락하는 반면 감염 가능성은 선형 방식 만 떨어집니다. 비교를 그만두었을 때의 대부분의 결과는 수천 가지 위험에 대한 실제 테스트에서 최대 90 %였습니다. 즉 감염의 10 %가 발견되지 않았거나 너무 늦었습니다. PC 대기 시간은 200 ~ 900 % 증가했습니다. OSX는 보안 상 필수는 아니지만 이상적인 상황이지만 2010 년에는 전화 / 패드가 아닌 제품의 시장 점유율이 4 %에 불과한 작은 대상으로 인해 공격 위험이 더 적습니다. 변경 될 것이지만 변경되지는 않습니다 OS를 깨끗하고 간결하고 의미있게 유지한다는 철학. XP와 Win7에 대해서도 동일합니다. 수리 도구가 다양하지만 감염된 모든 사람을 고치기 위해 하나의 앱만 있으면되며 몇 시간 또는 며칠이 아니라 10-20 분 밖에 걸리지 않습니다.

작동하는 내 방법;

  1. 좋은 경고의 카본 사본 인 수백 개의 로그에 반대되는 것을 실제로 알지 않는 한 사용자를 교육하고 보안 경고를 클릭하지 마십시오. 교육을받을 수없는 사람은 Java 및 JS가 비활성화 된 비 관리자 계정 및 샌드 박스 브라우저를 쉽게 얻을 수 있습니다. 그러나 내가 그들을 위해 그것을 활성화하면 걱정하거나 15 ~ 20 분만 복원하거나 복구 할 수 있습니다.

    1. SYstem Restore는 양호하지만 여러 가지 제한 사항이 있습니다. 하나는 문서 폴더 및 User Temp 폴더의 항목이 보호되어 다음에 부팅 할 때 불량 드라이버가 설치되어 시작되고 감염 될 수 있다는 것입니다.

    2. UAC는 많은 것들에 유용하지만 PITA와 같은 스타트 업 및 / 또는 새로운 프로세스를 감지하기 위해 더 나은 도구를 사용하지 않고 의존하지는 않습니다.

      • Winpatrol.com은 여전히 내가 보안을 위해 만든 최고의 투자이며 다른 사람들에게는 여전히 무료입니다. 실행 전에 스타트 업을 추가하고 사용자 프롬프트로 감지 및 비활성화하거나 삭제할 수있는 문제의 80 %를 다루고 있습니다. 그러나 결정을 내릴 수없는 불안한 사람이라면 알약을 먹거나 Windows Defender를 사용할 수 있습니다 . 커버리지에 가장 적합하지는 않지만 뱅 / 벅 비율에 대해 가장 높은 것 중 하나입니다. 성능 / 예측 / 손실 손실 또는 대기 시간 비율 증가.

      • Mike Lin의 시작 유틸리티 는 레지스트리의 12 개 이상의 위치에 저장되어있는 가장 가벼운 시작 프로그램 입니다.

      • Script Guard는 키디 스크립트에 유용한 스크립트 인터셉터입니다.

      • ProcessGuard 는 새로운 실행 파일에 대한 방화벽처럼 작동하지만 승인을 위해 잔소리를하지 않는 오래된 기능이없는 프로그램입니다. 그러나 신뢰할 수있는 소스를 수락하거나 신뢰할 수없는 소스를 무시하거나 차단 한 후에는 안전하고 기댈 것입니다.

      • 브라우저 용 블랙리스트 추가 기능은 WOT (Web of trust) 와 유사하지만 Chrome의 일부는 비슷한 방식으로 포함되어 있지만 그 정도는 적습니다.

      • 블랙리스트는 HOSTS 파일에 큰 영향을 줄 수 있으며, 이것을 사용하면 (10 분마다 4KB 청크로 스캔 할 때 1MB가 큼) 그러나 그렇게하려면 DNS 캐싱 서비스 를 사용 하지 않는 것이 좋습니다. 방화벽 권한으로 활성화됩니다.

      • 전자 메일 및 사물에 실제로 사용하지 않으면 파일 인덱싱을 사용하지 않도록 설정 하십시오. AV 제품군이 생성되어 매번 반복해서 액세스되는 모든 파일을 검색하기 때문에 중복성이 있습니다.

일부는 내 머리 꼭대기 에서이 부분 목록을 제외하고는 있지만 PC를 보호하고 마른 환경에서 작동하는 시간을 절약합니다. 밤에 보안을 확인하기위한 정기 감사를 통해 걱정없는 연습이 정당하다는 것을 증명합니다. 치료법에 대한 의견과 더 나은 보안 / 성능 균형을 지원하기 위해 여전히 수천 개의 HJT 로그, combofix.txt 로그 및 Runscanner 로그가 있습니다.

  • .mp3 또는 .avi와 달리 scipts (예 : .WMA, .WMV)를 실행할 수있는 exe 또는 Windows 미디어 파일을주의해서 다운로드 / 설치하지 마십시오.

  • hippo dot com ..와 같은 다운로드 애그리 게이터의 무료 업데이트에주의를 산만하게 할 수있는 보안을 다운로드하거나 업데이트하기 위해 큰 버튼을 대상으로하는 모든 광고를 피하십시오 . cnet은 나쁘지 않습니다. 정말 조심하세요. 일부 사이트는 타사 광고를 사용하며 콘텐츠 제어 기능이 없습니다.

  • 10 페이지 파워 포인트 프레젠테이션에서 하나의 완벽한 예를 문서화했습니다 . 관심이 있다면 물어보십시오. 위의 무시를 쉽게 무시하면 감염 될 수 있습니다.

지금은 모두.

1975 년부터 토니 스튜어트 EE

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.