클라이언트 컴퓨터에서 취약한 소프트웨어를 식별합니다. 취약점 관리 취약점 소프트웨어 수정 방법

이 문제를 보는 또 다른 방법은 애플리케이션에 취약점이 있는 경우 기업이 신속하게 대응해야 한다는 것입니다. 이를 위해서는 IT 부서가 설치된 애플리케이션, 자동화 도구 및 표준 도구를 사용하여 구성 요소 및 패치. 소프트웨어 태그(19770-2)에 대한 산업 표준화 작업이 있습니다. 이 태그는 설치된 것을 식별하는 응용 프로그램, 구성 요소 및/또는 패치와 함께 설치된 XML 파일입니다. 소프트웨어, 구성 요소 또는 패치의 경우 해당 응용 프로그램의 일부입니다. 태그에는 게시자 권한 정보, 버전 정보, 파일 이름이 있는 파일 목록, 보안 파일 해시, 설치된 애플리케이션이 시스템에 있고 바이너리가 시스템에 의해 수정되지 않았는지 확인하는 데 사용할 수 있는 크기가 있습니다. 제3자. 이 레이블에는 서명이 있습니다. 전자 서명발행자.

취약점이 알려지면 IT 부서는 자산 관리 소프트웨어를 사용하여 취약한 소프트웨어가 있는 시스템을 즉시 식별하고 시스템 업데이트 조치를 취할 수 있습니다. 태그는 패치가 설치되었는지 확인하는 데 사용할 수 있는 패치 또는 업데이트의 일부일 수 있습니다. 이러한 방식으로 IT 부서는 자산 관리 도구를 관리하는 수단으로 NIST National Vulnerability Database와 같은 리소스를 사용할 수 있으므로 회사에서 취약점을 NVD에 제출하면 IT 부서는 지금쯤이면 새로운 취약점을 즉시 자신의 취약점과 비교할 수 있습니다.

이 수준의 자동화를 가능하게 하는 ISO 19770-2의 표준 구현에 대해 미국 정부와 함께 TagVault.org(www.tagvault.org)라는 비영리 IEEE/ISTO를 통해 작업하는 회사 그룹이 있습니다. 어떤 시점에서 이 구현에 해당하는 이러한 태그는 향후 몇 년 동안 미국 정부에 판매되는 소프트웨어에 대해 의무적일 가능성이 높습니다.

따라서 결국에는 사용 중인 앱과 특정 소프트웨어 버전을 게시하지 않는 것이 좋지만 이전에 언급했듯이 어려울 수 있습니다. NVD의 NVID와 같은 알려진 취약점 목록과 정기적으로 비교되는 정확한 최신 소프트웨어 인벤토리가 있는지 확인하고 IT 부서가 위협을 수정하기 위해 즉각적인 조치를 취할 수 있는지 확인하고 싶습니다. 최신 발견 침입, 안티바이러스 스캐닝 및 기타 환경 차단 방법에 따라 적어도, 환경을 손상시키는 것은 매우 어려울 것이며, 손상될 경우 오랜 기간 동안 탐지되지 않을 것입니다.

시작 시 지능형 스캐닝 Avast 소프트웨어은(는) PC에서 다음 유형의 문제를 확인한 다음 해결 옵션을 제공합니다.

  • 바이러스: PC의 보안 및 성능에 영향을 줄 수 있는 악성코드가 포함된 파일.
  • 취약한 소프트웨어: 업데이트해야 하고 공격자가 시스템에 액세스하기 위해 사용할 수 있는 프로그램입니다.
  • 브라우저 확장 나쁜 평판 : 일반적으로 사용자 모르게 설치되어 시스템 성능에 영향을 미치는 브라우저 확장 프로그램입니다.
  • 약한 비밀번호: 둘 이상의 온라인 계정에 액세스하는 데 사용되며 쉽게 해킹되거나 손상될 수 있는 비밀번호입니다.
  • 네트워크 위협: 네트워크에 대한 공격을 허용할 수 있는 취약점 네트워크 장치라우터.
  • 성능 문제: 사물 ( 정크 파일및 응용 프로그램, 설정 관련 문제) PC 작동을 방해할 수 있습니다.
  • 충돌하는 안티바이러스: Avast가 설치된 PC에 설치된 바이러스 백신 소프트웨어. 다수의 바이러스 백신 프로그램 PC 속도를 늦추고 안티바이러스 보호의 효과를 줄입니다.

메모. 스마트 스캔에서 감지한 특정 문제를 해결하려면 별도의 라이선스가 필요할 수 있습니다. 에서 불필요한 문제 유형 감지를 비활성화할 수 있습니다.

발견된 문제 해결

스캔 영역 옆에 있는 녹색 체크 표시는 관련된 문제가 발견되지 않았음을 나타냅니다. 빨간색 십자가는 스캔에서 하나 이상의 관련 문제를 식별했음을 의미합니다.

발견된 문제에 대한 특정 세부 정보를 보려면 다음을 클릭하십시오. 모든 것을 해결. 스마트 스캔은 각 문제에 대한 세부 정보를 표시하고 항목을 클릭하여 즉시 수정할 수 있는 옵션을 제공합니다. 결정하다, 또는 나중에 이 단계를 건너 뛰.

메모. 바이러스 백신 검사 로그는 검사 기록에서 볼 수 있습니다. 검사 기록은 다음을 선택하여 액세스할 수 있습니다. 보호 안티바이러스.

스마트 스캔 설정 관리

스마트 스캔 설정을 변경하려면 설정 일반 스마트 스캔나열된 문제 유형 중 스마트 스캔을 실행할 문제 유형을 지정합니다.

  • 바이러스
  • 오래된 소프트웨어
  • 브라우저 추가 기능
  • 네트워크 위협
  • 호환성 문제
  • 성능 문제
  • 약한 비밀번호

기본적으로 모든 유형의 문제가 활성화되어 있습니다. 스마트 스캔을 수행할 때 특정 문제에 대한 확인을 중지하려면 슬라이더 포함상태를 다음으로 변경하도록 문제 유형 옆에 껐다.

딸깍 하는 소리 설정비문 옆에 바이러스 검사스캔 설정을 변경합니다.

현재 소프트웨어 취약점 검색을 자동화하기 위해 많은 도구가 개발되었습니다. 이 기사에서는 그 중 일부에 대해 설명합니다.

소개

정적 코드 분석은 연구 중인 프로그램을 실제로 실행하지 않고 프로그램의 소스 코드에 대해 수행되는 소프트웨어 분석입니다.

소프트웨어는 종종 프로그램 코드의 오류로 인해 다양한 취약점을 포함합니다. 프로그램 개발 중 오류가 발생하면 상황에 따라 프로그램이 충돌하여 프로그램의 정상적인 작동이 중단됩니다. 이 경우 데이터가 자주 변경 및 손상되고 프로그램 또는 시스템이 중지됩니다. . 대부분의 취약점은 외부에서 수신한 데이터의 잘못된 처리 또는 불충분한 검증과 관련이 있습니다.

취약점을 식별하기 위해 프로그램 소스 코드의 정적 분석기와 같은 다양한 도구가 사용되며, 이에 대한 개요는 이 기사에 나와 있습니다.

보안 취약점 분류

가능한 모든 입력 데이터에 대한 프로그램의 올바른 작동에 대한 요구 사항을 위반하면 소위 보안 취약성(보안 취약성)의 출현이 가능해집니다. 보안 취약점으로 인해 하나의 프로그램이 전체 시스템의 보안 한계를 극복하는 데 사용될 수 있습니다.

소프트웨어 오류에 따른 보안 취약점 분류:

  • 버퍼 오버 플로우. 이 취약점은 프로그램 실행 중 메모리의 out-of-bounds 배열에 대한 제어 부족으로 인해 발생합니다. 너무 큰 데이터 패킷이 제한된 버퍼를 오버플로하면 외부 메모리 셀의 내용을 덮어쓰고 프로그램이 충돌하고 충돌합니다. 프로세스 메모리에서 버퍼의 위치에 따라 스택(스택 버퍼 오버플로), 힙(힙 버퍼 오버플로) 및 정적 데이터 영역(bss 버퍼 오버플로)에서 버퍼 오버플로가 구분됩니다.
  • 취약성 "오염된 입력"(오염된 입력 취약성). 손상된 입력 취약점은 사용자 입력이 일부 외부 언어(일반적으로 Unix 셸 또는 SQL 언어)의 인터프리터에 충분한 제어 없이 전달될 때 발생할 수 있습니다. 이 경우 사용자는 실행된 인터프리터가 취약한 프로그램 작성자가 의도한 것과 완전히 다른 명령을 실행하는 방식으로 입력 데이터를 지정할 수 있습니다.
  • 실수 형식 문자열(형식 문자열 취약점). 이 유형보안 취약점은 "손상된 입력" 취약점의 하위 클래스입니다. C 표준 라이브러리의 printf, fprintf, scanf 등의 형식 I/O 함수를 사용할 때 매개변수 제어가 불충분하기 때문에 발생합니다. 이러한 함수는 후속 함수 인수에 대한 입력 또는 출력 형식을 지정하는 문자열을 매개변수 중 하나로 취합니다. 사용자가 직접 형식 지정 유형을 설정할 수 있는 경우 이 취약점은 문자열 형식 지정 기능의 실패한 적용으로 인해 발생할 수 있습니다.
  • 동기화 오류(경합 조건)로 인한 취약점. 멀티태스킹과 관련된 문제는 "경합 조건"이라는 상황으로 이어집니다. 예를 들어, 멀티태스킹 환경에서 실행되도록 설계되지 않은 프로그램은 실행할 때 사용하는 파일을 다른 프로그램에서 변경할 수 없다고 생각할 수 있습니다. 결과적으로 이러한 작업 파일의 내용을 적시에 교체하는 공격자는 프로그램이 특정 작업을 수행하도록 할 수 있습니다.

물론 나열된 보안 취약점 외에도 다른 클래스의 보안 취약점이 있습니다.

기존 분석기 개요

다음 도구는 프로그램의 보안 취약성을 감지하는 데 사용됩니다.

  • 동적 디버거. 프로그램이 실행되는 동안 디버그할 수 있는 도구입니다.
  • 정적 분석기(정적 디버거). 프로그램의 정적 분석 중에 축적된 정보를 사용하는 도구입니다.

정적 분석기는 프로그램에서 오류가 발견될 수 있는 위치를 나타냅니다. 이러한 의심스러운 코드 조각은 버그를 포함하거나 완전히 무해할 수 있습니다.

이 문서에서는 기존의 여러 정적 분석기에 대한 개요를 제공합니다. 각각에 대해 자세히 살펴보겠습니다.

경우에 따라 취약점의 발생은 다양한 출처의 개발 도구를 사용하기 때문에 발생하며 이로 인해 프로그램 코드에서 방해 행위 유형의 결함이 발생할 위험이 높아집니다.

소프트웨어에 타사 구성 요소 또는 무료 배포 코드(오픈 소스) 추가로 인해 취약점이 나타납니다. 다른 사람의 코드는 철저한 분석과 보안 테스트 없이 "있는 그대로" 사용되는 경우가 많습니다.

작성 중인 제품에 문서화되지 않은 추가 기능이나 요소를 의도적으로 도입하는 내부 프로그래머가 팀에 있다는 사실을 배제해서는 안 됩니다.

소프트웨어 취약점 분류

설계 또는 작성 단계에서 발생한 오류로 인해 취약점이 발생합니다. 프로그램 코드.

이러한 유형의 위협은 출현 단계에 따라 설계, 구현 및 구성 취약점으로 나뉩니다.

  1. 설계 오류는 감지하고 수정하기 가장 어렵습니다. 알고리즘의 부정확성, 책갈피, 서로 다른 모듈 간의 인터페이스 또는 하드웨어와 상호 작용하기 위한 프로토콜의 불일치, 차선책 기술의 도입입니다. 그것들을 제거하는 것은 매우 시간이 많이 걸리는 과정입니다. 또한 트래픽 양이 초과되거나 많은 양의 추가 장비가 연결된 경우와 같이 명확하지 않은 경우에 나타날 수 있기 때문에 필요한 수준의 제공이 복잡해집니다. 보안을 위협하고 방화벽을 우회하는 방법의 출현으로 이어집니다.
  2. 구현 취약점은 프로그램을 작성하거나 보안 알고리즘을 도입하는 단계에서 나타납니다. 이들은 계산 프로세스의 잘못된 구성, 구문 및 논리적 결함입니다. 그러나 이 결함으로 인해 버퍼 오버플로 또는 다른 종류의 문제가 발생할 위험이 있습니다. 그들의 발견은 오랜 시간이 걸리며 제거에는 기계 코드의 특정 부분을 수정하는 작업이 포함됩니다.
  3. 하드웨어 및 소프트웨어 구성 오류는 매우 일반적입니다. 일반적인 원인은 불충분한 품질 개발과 추가 기능의 올바른 작동을 위한 테스트 부족입니다. 또한 이 범주에 포함되는 것은 간단한 비밀번호그리고 변함없이 남겨진 계정기본.

통계에 따르면 취약성은 데스크톱 및 모바일과 같이 널리 보급된 제품에서 가장 자주 발견됩니다. 운영체제, 브라우저.

취약한 프로그램 사용의 위험

가장 많은 취약점이 발견된 프로그램은 거의 모든 컴퓨터에 설치됩니다. 사이버 범죄자의 입장에서는 이러한 결함을 찾아 작성하는 데 직접적인 관심이 있습니다.

취약점이 발견된 순간부터 픽스(패치) 공개까지 꽤 오랜 시간이 걸리기 때문에 프로그램 코드의 보안 허점을 통해 컴퓨터 시스템을 감염시킬 수 있는 기회는 상당히 많다. 이 경우 사용자는 익스플로잇이 포함된 악성 PDF 파일을 한 번만 열면 공격자가 데이터에 액세스할 수 있습니다.

후자의 경우 감염은 다음 알고리즘에 따라 발생합니다.

  • 사용자가 받는 이메일신뢰할 수 있는 발신자가 보낸 피싱 이메일.
  • 악용 파일이 편지에 첨부되어 있습니다.
  • 사용자가 파일을 열려고 하면 컴퓨터가 바이러스, 트로이 목마(암호화기) 또는 기타 맬웨어에 감염된 것입니다.
  • 사이버 범죄자는 시스템에 대한 무단 액세스를 얻습니다.
  • 귀중한 데이터가 도난당하고 있습니다.

다양한 회사(Kaspersky Lab, Positive Technologies)에서 수행한 연구에 따르면 바이러스 백신을 포함한 거의 모든 애플리케이션에 취약점이 있습니다. 따라서 설정 확률은 소프트웨어, 다양한 심각도의 결함을 포함하는 매우 높습니다.

소프트웨어의 공백을 최소화하기 위해서는 SDL(Security Development Lifecycle, secure 라이프 사이클개발). SDL 기술은 애플리케이션 생성 및 지원의 모든 단계에서 애플리케이션의 버그 수를 줄이는 데 사용됩니다. 따라서 소프트웨어를 설계할 때 정보 보안 전문가와 프로그래머는 취약점을 찾기 위해 사이버 위협을 모델링합니다. 프로그래밍하는 동안 자동 도구가 프로세스에 포함되어 잠재적인 결함을 즉시 보고합니다. 개발자는 확인되지 않은 사용자가 사용할 수 있는 기능을 크게 제한하여 공격 표면을 줄이는 것을 목표로 합니다.

취약점의 영향과 그로 인한 손상을 최소화하려면 몇 가지 규칙을 따라야 합니다.

  • 응용 프로그램에 대한 개발자 릴리스 수정 사항(패치)을 빠르게 설치하거나 (바람직하게는) 활성화 자동 모드업데이트.
  • 가능하면 품질과 품질이 의심스러운 프로그램을 설치하지 마십시오. 기술적 지원질문을 제기합니다.
  • 보안 오류를 검색하고 필요한 경우 소프트웨어를 업데이트할 수 있는 특수 취약성 스캐너 또는 바이러스 백신 제품의 특수 기능을 사용합니다.

관련 출판물