평균 개발자의 보안을 더 쉽게 만드는 방법
솔직히 말하면 대부분의 보안 도구는 사용하기가 매우 고통 스러울 수 있습니다.
이러한 도구는 일반적으로 개발자 인 개발자를 염두에두고 설계되지 않았습니다. 심지어 보안 팀이 아니라 문제를 해결하는 데 책임이있는 경우도 있습니다. 최악의 부분? 도구와 DEV 환경 사이에서 앞뒤로 전환하거나 클라크 통합을 추가해야합니다.
그리고 종종 알림은 그다지 실행 가능하지 않습니다. 스스로 연구하는 데 시간을 보내야 할 수도 있습니다. 또는 더 나쁜 것은, 잘못된 긍정은 당신을 다음에 구축하는 것을 막을 수 있습니다. 경고 피로가 들어 오면 취약점이 쌓이면서 더 적은 관심을 기울이고 있습니다.
우리는 더 나은 코드를 커밋 할 수 있도록 워크 플로에 보안을 구축함으로써 Github에서이를 개선하려고 노력하고 있습니다. 비밀 보호에서 코드 보안, Dependabot 및 Copilot Autofix에 이르기까지 AI의 도움을 받아 문제를 우선 순위로 삼고 치료할 수 있도록 탐지를 넘어 노력하고 있습니다.
GitHub에서 더 안전한 코드를 쓰는 방법을 10 분 이내에 보여 드리겠습니다.
커밋 및 풀 요청 전에 : 비밀 보호
https://www.youtube.com/watch?v=nt47uo7tfsq
작업을 수행했으며 코드를 Github에 커밋 할 준비가되었습니다. 그러나 문제가 있습니다. 실수로 코드에 API 키를 남겼습니다.
코드에 비밀을 남긴 적이 없더라도 언젠가는 좋은 기회가 있습니다. 유출 된 비밀은 소프트웨어 취약성의 가장 흔하고 가장 피해를 입은 형태 중 하나입니다. 2024 년에 Github의 개발자들은 비밀 보호를 사용하여 프로세스를 단순화하여 3,900 만 개 이상의 비밀 누출을 감지했습니다.
컨텍스트부터 시작하겠습니다. 전통적으로 새로운 기능이 완료된 후에 만 보안 검토가 발생하기 때문에 잊혀진 API 키를 발견하는 데 몇 달이 걸릴 수 있습니다. 누군가가 야생에서 그것을 착취 할 때까지는 발견되지 않을 수도 있습니다. 이 경우 다른 기능을 작업하여 다시 작성한 후에도 코드로 돌아와서 다시 작성해야합니다.
그러나 이전에 비밀 스캐닝으로 알려진 Github Secret Protection은 많은 유형의 비밀을 잡을 수 있습니다. 비밀 보호는 코드를 저장소로 푸시 할 때 실행되며 의심스러운 것을 발견하면 경고합니다. 코드가 당신의 마음에 신선한 동안 무언가가 잘못되었다는 것을 즉시 알게 될 것입니다. 기고자가 비밀을 저장소로 밀어내는 것을 막고 기고자가 블록을 우회 할 때마다 경고를 생성하는 푸시 보호는 비밀이 어디에 있는지 정확히 보여줍니다. 비밀이 테스트 환경의 일부이거나 경고가 잘못된 긍정적 인 경우 경고를 쉽게 우회 할 수 있으므로 불필요하게 속도를 늦추지 않습니다.
당신이 할 필요가없는 것은 다른 응용 프로그램 또는 세 가지로 이동하여 취약성 경고 또는 문제 할당에 대해 읽는 것입니다.
커밋 후 : 부양애
https://www.youtube.com/watch?v=8Wnr-eoilce
자, 이제 코드를 저질렀습니다. 하나 이상의 오픈 소스 종속성을 포함 할 가능성이 있습니다.
오픈 소스는 일상적인 개발 작업에 중요하지만 일시적 의존성의 단일 취약성, 즉 의존성의 종속성은 조직을 위험에 빠뜨릴 수 있습니다 (이는 성과 검토에서 나오는 것이 아닙니다).
자동화 된 소프트웨어 공급망 보안을위한 무료 도구 인 Dependabot은 귀하가 저지른 코드의 종속성의 표면 취약점을 돕습니다. 그리고 다시 한번, 보안 팀이 완성 된 기능을 검토 할 기회가 없을 때가 아니라 문제를 즉시 발견합니다. 수정이 이미 존재하는 경우 Dependabot은 풀 요청을 생성하므로 워크 플로를 방해하지 않고 문제를 해결할 수 있습니다.
ENGINGABOT에는 이제 수정 사항을 우선시하는 데 도움이되는 데이터가 있습니다. 구체적으로, 경고에는 이제 전 세계 사고 응답 포럼의 Expss (Eveloit Prediction Scoring System) 데이터가 포함되어 있으며, 이는 악용 가능성에 따라 경고를 우선시하는 데 도움이됩니다. 취약성 경고의 10%만이 EPSS 점수가 0.95% 이상 이므로이 소규모의 더 긴급한 취약점을 수정하는 데 집중할 수 있습니다. 실제로 백 로그를 더 쉽게 관리 할 수 있고 위험이 낮은 문제에 시간을 보내지 않도록 할 수 있습니다.
풀 요청 : 코드 보안
https://www.youtube.com/watch?v=ryqmaiodkcu
당신은 일부 코드를 저지르고, 비밀을 유출하지 않았다고 확신하며, 알려진 취약점의 종속성에 의존하지 않습니다. 따라서 당연히 풀 요청을 만듭니다. 전통적으로, 당신은 일부 Linters와 Security Scanning Tools를 직접 실행해야 할 수도 있으며, 아마도 여러 가지 다른 도구를 전환 할 수 있습니다. 자동화 플랫폼 GitHub 작업 덕분에 풀 요청을 제출 하자마자이 모든 것이 발생합니다.
작업 또는 보안 스캔 서비스 Github 코드 보안 (이전 코드 스캔으로 알려짐)을 사용하여 다양한 보안 도구를 실행할 수 있습니다. 우리의 시맨틱 정적 분석 엔진 CodeQL은 코드를 데이터베이스로 변환하여 알려진 취약점과 알 수없는 변형, 잠재적으로 안전하지 않은 코딩 관행 및 기타 코드 품질 문제로 쿼리 할 수 있습니다.
자신의 CodeQL 쿼리를 작성할 수 있지만 GitHub는 가장 중요한 유형의 취약점을 포함하는 수천 개의 쿼리를 제공합니다. 이 쿼리는 높은 수준의 정확도를 위해 선택되어 사용자에 대한 오 탐지율이 낮습니다.
그러나 우리는 단지 문제를 촉발하지 않습니다. Github Copilot Autofix 덕분에 공개 리포지토리에서 무료로 제공되는 새로운 기능 또는 개인 리포지토리 용 Github 코드 보안의 일부로 JavaScript, TypeScript, Java 및 Python의 경보 유형의 90%에 대한 솔루션을 권장합니다.
성가신 SQL 주입 취약점이 있다고 가정 해 봅시다 (항상 발생). Coplot Autofix는 제안 된 수정으로 풀 요청을 생성하므로 취약성을 빠르게 패치 할 수 있습니다. 수정을 찾기 위해 더 이상 보안 전문가가 될 필요가 없습니다. 우리는 AutoFix 치료 취약점을 사용하는 팀이 최대 60% 더 빠르게 사용되어 MTTR (Mead Time)을 크게 줄인다는 것을 발견했습니다 (MTTR).
이것이 우리가“발견 된 수단으로 고정 된 수단”이라고 말할 때 우리가 의미하는 바입니다. 우리는 이미 과부하 된 Kanban 보드에 더 많은 작업을하고 싶지 않습니다. 당사의 보안 도구는 탐지뿐만 아니라 치료를 위해 설계되었습니다.
이것을 당신과 함께 가져 가십시오
당김 요청을 커밋하거나 제출할 때마다 모든 보안 도구를 터치 할 필요가 없을 것입니다. 그들은 필요할 때만 팝업 될 것이며 그렇지 않으면 배경에서 문제를 해결하기 위해 조용히 스캔합니다.
그들이 나타날 때, 그들은 합당한 이유와 함께 나타납니다. 커밋 또는 풀 요청 시점에서 취약점을 처리하는 것은 몇 개월 또는 몇 년 후까지 기다리는 것보다 훨씬 적은 작업입니다. 손끝에 실행 가능한 솔루션을 사용하면 보안 팀과 함께오고가는 데 많은 시간을 소비 할 필요가 없습니다.
안전한 코드를 작성하려면 노력이 필요합니다. 그러나 보안 보호 및 자동 제안을 기본적으로 개발 워크 플로우에 통합함으로써 현 상태보다 시간이 많이 걸리고 시간이 많이 걸리는 상태로 이동합니다.
조직에 노출 된 비밀을 찾으십시오 비밀 위험 평가와 함께>
작성자가 작성했습니다
Post Comment