ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SAST, DAST - Sparrow
    Security 2022. 5. 16. 02:04

    Sparrow

    보안약점(Weakness) : 해킹 등 실제 보안사고에 악용될 수 있는 보안 취약점의 근본 원인

    취약점(Vulnerability) : 보안약점이 원인이 되어 발생하는 실제적인 위협으로 해킹에 악용

     

    SW 개발보안 적용방법

    - SW 개발보안 교육 : 개발자뿐아니라 전 구성원에게 보안 교육

    - 전 단계에 SW개발보안을 적용 : 기획, 분석, 설계단계부터 보안 고려

    - 소스코드 진단 : 진단도구 활용

     

    SAST (Statioc Application Security Testing)

     

      정적 애플리케이션 보안 테스트 (SAST)는 실행 중이 아닌 상태에서 애플리케이션 소스 코드, 바이너리 및 바이트 코드를 분석하여 모바일 애플리케이션의 보안 취약점을 드러내도록 설계된 일련의 테스트 방법입니다. SAST는 화이트 박스 테스트라고도 하며, 코드가 컴파일되기 전에 애플리케이션을 스캔합니다. SQL 인젝션, 버퍼 오버플로우 및 크로스 사이트 스크립팅과 같은 시스템 내의 중요한 취약점을 탐지합니다.
    SAST는 동작 가능한 애플리케이션이 필요하지 않고, 코드를 실행할 필요가 없기 때문에 소프트웨어 개발 생명 주기(SDLC)의 초기 단계에서 수행됩니다. 개발자는 개발 초기 단계에서 취약점을 확인하고 이를 애플리케이션의 최종 릴리스로 전달되지 않도록 문제를 신속하게 해결할 수 있습니다. SAST 도구는 개발자가 코드를 작성할 때 실시간 피드백을 제공하여, 코드가 SDLC의 다음 단계로 전달되기 전에, 문제를 해결하도록 도움을 줍니다. 이 도구는 소스 코드 또는 바이너리를 라인 단위로 테스트하며, 발견된 문제를 각종 차트 등을 통해서 이해하기 쉽게 제공합니다. 요약하자면, SAST 제품은 소스 코드를 스캔하여 취약성을 식별하고 보고서를 제공합니다. 일부는 취약점에 대한 코드 수정을 지원하기도 합니다.

     

    DAST (Dynamic Application Security Testing)

     

      동적 애플리케이션 보안 테스트(DAST)는 애플리케이션을 외부에서 테스트 하는 블랙 박스 보안 테스트 방법입니다. DAST를 사용하는 테스터는 실제 제품 운영 환경에서 실행될 때를 가정하여 애플리케이션을 검사하고, 공격자와 마찬가지로 해킹을 시도합니다. DAST 스캐너는 HTTP 통신을 사용하여 외부에서 애플리케이션과 상호작용하기 때문에, 애플리케이션을 구성하는 기술요소와는 독립적입니다. 즉, 기존의 규격형 프로그래밍 언어나 프레임워크 뿐만 아니라, 커스텀 요소가 반영된 것들에서도 작동을 보장합니다.

    DAST 스캐너는 스캐닝 작업 전에 먼저 웹 애플리케이션을 크롤링합니다. 이를 통해 스캐너는 웹 애플리케이션의 페이지내에 노출된 모든 입력을 찾은 후 이를 이용하여 다양한 취약성에 대해 테스트를 수행합니다. DAST 테스트는 크로스 사이트 스크립팅 또는 SQL 인젝션 공격을 유발할 수 있는 입/출력 값에 대한 유효성 검사를 비롯하여 광범위한 애플리케이션 취약점을 찾을 수 있습니다. DAST 테스트는 애플리케이션의 구성 오류 및 실수를 발견하고, 그 외 다른 특정 문제를 식별하는데 도움을 줍니다. 대부분의 DAST 솔루션은 웹을 지원하는 애플리케이션의 HTTP 및 HTML 인터페이스만을 테스트합니다. 그러나 일부 솔루션은 웹 이외의 프로토콜 및 데이타 변형(예를 들면, RPC나 SIP 등)을 지원 하기 위해 특별히 설계되기도 합니다.

     

    출처 : https://www.appsealing.com/kr/

     

    모바일 앱 보안 솔루션 | 코딩이 필요 없음 | 코딩 불필요

    앱실링은 모바일 앱 보안 서비스를 제공합니다. 어떠한 코딩이나 SDK 연동 없이 짧은 시간내에 런타임 애플리케이션 자가 보호 (RASP) 기능을 적용하십시오.

    www.appsealing.com

     

    Secure Coding

     

    의미

    시큐어코딩(secure coding)이란 소프트웨어 개발 보안이라고도 부르며 설계 및 구현(개발) 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법. 보안 취약점을 줄이기 위해서 소프트웨어 개발 초기 단계에 수정하는 것이 가장 손쉽고 비용 효율성 측면에서 가장 좋기 때문에 이 시큐어 코딩 기법을 적용

     

    배경

    소프트웨어 개발 보안의 중요성을 인식한 미국의 경우, 국토안보부(DHS)를 중심으로 시큐어코딩을 포함한 소프트웨어 개발 모든 과정(설계, 구현, 시험 등)에 대한 보안활동 연구를 활발히 진행하고 있습니다. 국내의 경우 2009년부터 전자정부 서비스 개발 단계에서 소프트웨어 보안 약점을 진단하여 제거하는 시큐어 코딩 관련 연구를 진행하면서, 2012년까지 전자정부지원사업 등을 대상으로 소프트웨어 보안약점 시범 진단을 수행했습니다. 또한, 2012냔 6월부터 행정안전부 '정보시스템 구축ㆍ운영 지침(행안부고시 제2012-25호)'이 개정ㆍ고시됨에 따라 전자정부서비스 개발 시 적용되도록 의무화되었습니다.

     

    필요성

    수많은 과정을 거쳐 소프트웨어를 개발하는데 그만큼의 비용이 발생합니다. 추가적인 노력은 흔히 말하는 MM(Man Month)를 증가시켜 비용 상승의 주범이 됩니다. 따라서 우리는 '서둘러 개발을 완료하고 제품 출시를 하고 유지 보수를 하면서 수정하는 것이 더 효과적이지 않을까'라고 생각할 수 있습니다. 하지만 아래 연구 결과를 보면 소프트웨어의 결함을 수정하는데 소요되는 비용은 해당 결함을 개발 초기 단계에서 발견할수록 미미하고, 제품이 출시된 이후에 발견하게 될 경우 약 30배의 비용이 지급됩니다. 계발 초기 단계에서부터 안전한 소프트웨어를 위해 투자하는 비용은 전체적으로 봤을 때 오히려 비용을 절감하는 효과를 불러옵니다.

     

    출처 : http://www.hash.kr/

     

    해시넷- 대한민국 블록체인 및 암호화폐 정보포털

    채굴, 거래, 거래소, 비트코인, 알트코인, 블록체인, ICO 정보제공

    www.hash.kr

     

     

    다양한 언어 점검 항목 지원

    - Java, JSP, C/C++, C#, Python, Swift, ASP(.NET), ABAP, Object C, Kotlin 등 20개 이상 언어 지원
    - 790여 개의 보안 약점 점검 항목 지원
    - 국내·외 컴플라이언스 및 표준 가이드 준수

     

    빠르고 정확한 분석

    - MVC 구조 분석, 연관 파일 분석, 여러 단계의 함수 호출 관계 분석
    - 재분석 시 추가·변경· 연관된 파일만 분석하여 분석 시간 최소화
    - Sparrow DAST, Sparrow RASP의 연동을 통한 프로그램 연관 취약점 확인

     

    지능형 애플리케이션

    - 취약점 원인부터 취약점 발생 지점까지의 과정을 따라가는 이슈 내비게이터 제공

    - 검출된 취약점에 대한 실제 소스코드의 자동 수정 제안
    - 위험도 별 취약점 자동 분류

     

    웹 기반 중앙 통합관리

    - 통합 점검 결과 관리 및 통계, 대시보드 제공
    - 중앙화 된 룰 관리를 통해 체커 그룹별로 위험도 및 옵션 관리

     

    타 시스템과의 연동

    - 소스코드 버전 관리 시스템과의 연동을 통한 이관 제어
    - 빌드 관리 도구, 이슈관리 도구 연동을 통한 자동화 관리
    - DAST, RASP와 연동 시 프로그램 동작 간에 발생할 수 있는 취약점 검출이 가능하여 과탐, 오탐, 미탐 보완

     

    대시보드 및 통계

    - 분석 횟수, 검출 이슈, 위험도, 프로젝트 등의 현황 파악
    - 기간별 분석 결과 이력, 추이 제공
    - 프로젝트, 사용자, 점검 항목별 통계 자료 제공

     

    사용자 맞춤형 보고서

    - 프로젝트 요약정보, 분석 파일 정보, 위험도별 분석 결과 등 원하는 항목 편집 가능
    - 한글, 워드, 엑셀, PDF 형식의 보고서 제공

     

    분석 결과 이력 관리

    - 기존 검출 결과와 비교하여 새롭게 검출된 결과 자동 구분
    - 소스코드 라인이 변경되더라도 기존의 검출 결과 상태 자동 식별
    - 검출 결과 예외처리 신청/ 관리자 승인 프로세스 제공을 통한 부정사용 방지

     

    다양한 분석 방법

    - 클릭만으로 손쉽게 분석할 수 있는 GUI
    - 배치/ 스케줄링 분석이 가능한 CLI
    - 개발 IDE 내에 설치되어 분석 및 결과 확인이 가능한 Plugin
    - 별도 클라이언트 프로그램 없이 웹 중앙 관리 시스템에서 소스코드 드래그 앤 드롭 분석

     

    지원 점검 항목

    - 행정안전부 보안약점
    - 국정원 8대 취약점
    - 전자금융감독규정
    - CWE
    - OWASP
    - MISRA C/C++
    - CERT
    - BSSC C/C++ 외 다수

     

    개발 환경 프로세스와 유연한 통합

    개발자 IDE 통합

    개발자들이 IDE에서 수시로 분석하여 소스코드의 문제점을 수정

    이관 제어 시스템과 통합

    이관 제어 시스템에서 문제점이 없는 소스코드만 이관

    빌드 시스템과 통합

    빌드 시스템과 통합하여 코드 변경 혹은 주기적으로 소스코드 검사

     

     

    최신 웹 애플리케이션 기술 적용

    - HTML5, Ajax 등 최신 기술을 사용하는 웹 애플리케이션 분석

    - 취약점 공격 과정을 이벤트 별로 재현

     

    웹 애플리케이션에 존재하는 보안 취약점 자동 검출

    - 웹 애플리케이션의 URL로부터 포함된 하위 경로들을 자동으로 수집

    - 수집된 경로들에 존재하는 보안 취약점 검출

    - 오픈소스 웹 라이브러리 취약점 분석

     

    상호작용 지원

    - 자사의 분석 도구와 상호작용을 통해 동적 분석 한계 극복

    - 웹 애플리케이션의 내부 동작 과정을 상호작용하며 직접 분석하는 트루스캔 기능

     

    지원 점검 항목

    - 행정안전부 보안 가이드

    - KISA 진단 가이드

    - 국정원 취약점

    - 전자금융감독규정

    - 전자정부서비스 표준 웹 취약점 점검 항목

    - 주요정보통신기반시설 취약점 분석 평가 기준

    - OWASP Top 10 2017

    - CWE

     

    웹 기반 사용자 인터페이스

    - 웹 기반 사용자 인터페이스로 개별 설치가 필요 없으며 웹 브라우저를 통해 누구나 손쉽게 접근 가능

    - 분석결과 공유 및 중앙 관리

    - 강력한 분석 능력

    - 브라우저 이벤트 재현 기술을 사용하여 웹 애플리케이션에 존재하는 보안 취약점 검출

    - 오픈소스 웹 라이브러리 취약점 분석

     

    상호작용 지원

    - 웹 애플리케이션 취약점 통합관리 플랫폼인 Sparrow InteractiveHUB와의 상호작용을 통해 Sparrow SAST, Sparrow RASP 연동하여 동적 분석 한계 극복

    - 웹 애플리케이션의 내부 동작 과정을 상호작용하며 직접 분석하는 트루스캔 기능

     

    분석 보고서 제공

    - 검출된 취약점 목록을 쉽게 확인할 수 있는 목록 보고서

    - 취약점별 자세한 분석 방법, 분석 결과 및 해결 방법을 확인할 수 있는 상세 보고서

     

    다양한 형태의 웹 애플리케이션 분석

    - HTML5, AJAX 등 최신 기술을 사용하는 웹 애플리케이션 분석

    - 브라우저에서 수행할 수 있는 다양한 이벤트를 재현하여 보안 취약점 검출

     

    다수 사용자에 최적화된 시스템

    - 사용자별 권한 및 역할 설정

    - 분석 결과의 중앙 관리 및 편리한 사용자 간 분석 결과 공유

     

    손쉬운 웹 애플리케이션 취약점 진단

    - 별도 도구가 필요하지 않으며 웹 브라우저로 간편하게 진단 수행

    검출 취약점 재현

    - 이벤트 클립보드를 이용하여 취약점 재현을 통한 원인 파악

    검출 취약점 조치 및 확인

    - 이행 분석 기능으로 빠르게 취약점 조치 여부 확인

     

    탐지 구분

      Positive Negative
    True True Positive True Negetive
    False False Positive False Negative

    정탐

     - True Positive(TP)와 True Negative(TN)는 긍정적인 사실과 부정적인 사실이라는 뜻, 정탐을 의미 
     - 긍정적이건 부정적이건 옳게 탐지했기 때문에 정탐  
     - 메일로 예를 들어보자면 일반 메일이 일반 메일함으로 들어오는 것은 긍정적인 사실(TP)이며 스팸 메일이 스팸 메일함으로 가는 것은 부정적인 사실(TN)을 의미 
     - TP와 TN둘다 일반 메일과 스팸메일을 잘 구분했으므로 정탐

     

    미탐

     - False Negative(FN)으로 부정적 틀림이라는 의미 
     - FN은 부정적인걸 잡아내지 못한, 탐지하지 못한 잘못된 판정을 의미  
     - 앞서 말한 메일로 예를 들자면 스팸 메일임에도 불구하고 일반 메일로 분류돼있는 경우
     - 미탐은 또한 단어에서 알 수 있듯이 탐지하지 못한 것이므로 악성코드를 탐지하기 위한 사람의 개입이 없음

     

    오탐
     - False Positive(FP)는 긍정적 틀림으로 오탐
     - 오류가 아닌데 오류라고 잘못된 판정을 하는 것을 의미 
     - 스팸메일이 아닌데 스팸메일로 들어가 있는 경우가 False Positive
     - 오탐은 단어 자체에서 알 수 있듯이 오류로 탐지한 경우, 즉 잘못 탐지한 경우를 말한다. 

     - 잘못 탐지한 것이므로 사람이 악성코드 등을 탐지하기 위한 개입이나 노력이 있었던 것이므로, 최소한의 노력이 들어간 것을 의미

     

    출처 : https://kk-7790.tistory.com/

     

    평민의 DevSecOps 공부 기록 저장소

    보안 위주의 IT 블로그 입니다. 웹&앱 모의해킹, Cloud, 개발, 보안 등등..

    kk-7790.tistory.com

    댓글

Designed by Tistory.