지능형 스캔. 클라이언트 컴퓨터에서 취약한 소프트웨어 식별 감지된 문제 해결

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

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

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

소프트웨어 취약점 분류

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

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

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

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

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

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

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

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

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

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

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

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

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

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

소개

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

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

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

보안 취약점 분류

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

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

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

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

기존 분석기 개요

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

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

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

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

취약점 관리는 취약점을 제거하기 위한 솔루션의 식별, 평가, 분류 및 선택입니다. 취약성 관리는 취약성 정보 저장소를 기반으로 하며 그 중 하나가 Advanced Monitoring Vulnerability Management System입니다.

당사의 솔루션은 운영 체제(Windows, Linux/Unix 기반), 사무실 및 애플리케이션 소프트웨어, 하드웨어 소프트웨어, 정보 보안 도구의 취약점에 대한 정보의 표시를 제어합니다.

데이터 소스

Prospective Monitoring 소프트웨어의 Vulnerability Management System 데이터베이스는 다음 소스에서 자동으로 보충됩니다.

  • 러시아 FSTEC의 정보 보안 위협 데이터 은행(BDU BI).
  • NVD(National Vulnerability Database) NIST.
  • 레드햇 버그질라.
  • 데비안 보안 버그 추적기.
  • CentOS 메일링 리스트.

또한 자동화된 방법을 사용하여 취약점 데이터베이스를 보완합니다. 우리는 웹 크롤러와 비정형 데이터 파서를 개발하여 매일 100개 이상의 다양한 외국 및 러시아 소스를 분석합니다. 키워드- 소셜 네트워크, 블로그, 마이크로블로그, 미디어 전용 그룹 정보 기술및 정보 보안. 이러한 도구가 검색 기준을 충족하는 항목을 찾으면 분석가는 수동으로 정보를 확인하고 취약성 데이터베이스에 입력합니다.

소프트웨어 취약점 제어

Vulnerability Management System을 사용하여 개발자는 소프트웨어의 타사 구성 요소에서 발견된 취약점의 존재와 상태를 제어할 수 있습니다.

예를 들어, Hewlett Packard Enterprise의 SSDLC(Secure Software Developer Life Cycle) 모델에서는 타사 라이브러리의 제어가 핵심입니다.

당사 시스템은 동일한 소프트웨어 제품의 병렬 버전/빌드에서 취약점의 존재를 모니터링합니다.

다음과 같이 작동합니다.

1. 개발자는 제품에 사용되는 타사 라이브러리 및 구성 요소 목록을 저희에게 보냅니다.

2. 우리는 매일 확인합니다:

비. 이전에 발견된 취약점을 제거하는 방법이 있는지 여부.

3. 지정된 역할 모델에 따라 취약점의 상태 또는 점수가 변경된 경우 개발자에게 알립니다. 즉, 동일한 회사 내의 다른 개발 팀이 작업 중인 제품의 취약성 상태를 보고만 알 수 있습니다.

Vulnerability Management System 경고 빈도는 임의로 구성할 수 있지만 CVSS 점수가 7.5보다 큰 취약점이 발견되면 개발자는 즉시 경고를 받게 됩니다.

ViPNet TIAS와 통합

ViPNet Threat Intelligence Analytics System 소프트웨어 및 하드웨어 컴플렉스는 컴퓨터 공격을 자동으로 감지하고 다양한 소스에서 발생하는 이벤트를 기반으로 인시던트를 식별합니다. 정보 보안. ViPNet TIAS의 주요 이벤트 소스는 Perspective Monitoring에서 개발한 의사결정 규칙 AM 규칙 기반을 사용하여 들어오고 나가는 네트워크 트래픽을 분석하는 ViPNet IDS입니다. 일부 서명은 취약점 악용을 탐지하기 위해 작성됩니다.

ViPNet TIAS가 취약점이 악용된 정보 보안 사고를 감지하면 부정적인 영향을 제거하거나 보상하는 방법을 포함하여 취약점과 관련된 모든 정보가 SMS에서 사고 카드에 자동으로 입력됩니다.

사고 관리 시스템은 침해 지표 및 사고의 영향을 받는 잠재적인 정보 인프라 노드에 대한 정보를 분석가에게 제공함으로써 정보 보안 사고 조사에도 도움이 됩니다.

정보 시스템의 취약점 존재 모니터링

취약성 관리 시스템을 사용하는 또 다른 시나리오는 주문형 검색입니다.

고객이 노드(워크스테이션, 서버, DBMS, SZI PACK, 네트워크 하드웨어) 시스템 및 응용 프로그램 소프트웨어 및 구성 요소는 이 목록을 SMS에 제출하고 탐지된 취약점에 대한 보고서와 해당 상태에 대한 주기적 알림을 받습니다.

시스템과 일반적인 취약점 스캐너의 차이점:

  • 호스트에 모니터링 에이전트를 설치할 필요가 없습니다.
  • 솔루션 아키텍처 자체가 에이전트 및 스캐닝 서버를 제공하지 않기 때문에 네트워크에 부하를 생성하지 않습니다.
  • 구성 요소 목록이 시스템 명령이나 가벼운 오픈 소스 스크립트에 의해 생성되기 때문에 하드웨어에 부하를 생성하지 않습니다.
  • 정보 유출 가능성을 제거합니다. "전향적 모니터링"은 정보 시스템에서 노드의 물리적, 논리적 위치 또는 기능적 목적에 대해 어떤 것도 안정적으로 학습할 수 없습니다. 고객의 통제된 경계를 벗어나는 유일한 정보는 소프트웨어 구성 요소 목록이 포함된 txt 파일입니다. 이 파일의 내용을 확인하고 고객이 직접 SMS에 업로드합니다.
  • 시스템이 작동하려면 제어된 노드에 대한 계정이 필요하지 않습니다. 정보는 노드 관리자가 대신하여 수집합니다.
  • ViPNet VPN, IPsec 또는 https를 통한 안전한 정보 교환.

취약성 관리 서비스 "전향적 모니터링"에 연결하면 고객이 ANZ.1 "취약점 식별, 분석"의 요구 사항을 충족할 수 있습니다. 정보 시스템새로 식별된 취약점의 신속한 제거 "러시아 FSTEC No. 17 및 21 명령. 우리 회사는 기밀 정보의 기술 보호를 위해 러시아 FSTEC의 라이센스 사용자입니다.

가격

최소 비용은 연결을 위한 유효한 계약으로 시스템에 연결된 50개 노드에 대해 연간 25,000루블입니다.

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

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

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

발견된 문제 해결

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

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

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

스마트 스캔 설정 관리

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

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

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

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

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

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

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

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

관련 출판물

  • YouTube에서 처음부터 돈을 버는 방법 YouTube에서 처음부터 돈을 버는 방법

    여러분, 안녕하세요! 오늘은 유튜브 수익창출에 대해 알아보겠습니다. 기사가 가능한 한 유익한 정보를 제공하기 위해 나는 ...

  • 지원서 준비 및 제출 지원서 준비 및 제출

    고객의 새 응용 프로그램은 개인 계정의 "내 응용 프로그램" 섹션에서 확인할 수 있습니다. 원하는 제안을 선택합니다. 한달만에 달력...