모든 보안 위협이 소프트웨어 버그로 인해 발생합니까?


13

내가 들었던 대부분의 보안 위협은 소프트웨어의 버그로 인해 발생했습니다 (예 : 모든 입력이 제대로 점검되지 않았는지, 스택 오버플로 등). 따라서 모든 소셜 해킹을 제외하면 버그로 인한 모든 보안 위협이 있습니까? 다시 말해, 버그가 없다면 보안 위협이 없을 것입니다 (비밀번호 공개 등과 같은 사람의 결함을 제외하고)? 아니면 버그로 인한 것이 아닌 방식으로 시스템을 악용 할 수 있습니까?


4
내가 약한 암호로 소프트웨어 버그를 추측 할 수 있다고 생각합니까? 무엇이든, 그것은 디자인 문제이지만 아마도 이것보다 훨씬 더 근본적 일 것입니다.
Joachim Sauer

4
열악한 디자인을 버그로 정의 하시겠습니까?
StuperUser

1
@StuperUser를 지원하기 위해 링크 " security.stackexchange.com/questions/25585 / ... "에서 Dave의 스크립트에는 버그가 없습니다. 그러나 그것은 바보 같은 디자인입니다.
Manoj R

1
버그를 제외한 보안 문제에 대한 모든 이유를 배제한다면 그렇습니다.
andho

답변:


25

버그는 사양에 맞지 않는 소프트웨어로 정의됩니다. 이제 사양에 결함이 있으면 소프트웨어 버그가 아닙니다. 멍청한 고객이 모든 암호가 잘못된 항목 사이에 유예 기간이없는 3 자리 코드 여야한다고 요구하는 경우에는 소프트웨어가 아닙니다.

많은 시스템에는 보안을 무시할 수있는 "서비스 모드"가 있으며 보안에 대한 액세스는 보안이 유지되어야하지만 코드가 대중에게 누출되는 경우가 많습니다.

수학의 발전은 오래된 암호화 방법을 손상시킵니다. 30 년 전 보안 가능성이있는 것은 오늘날 약화되고 있습니다.

종종 간과되는 다양한 데이터 도용 방법이 있습니다. 작은 안테나로 인해 무선 키보드의 범위는 약 2m이며 전송 된 코드는 암호화되지 않습니다. 좋은 안테나로 길 건너에서 그것을 읽는 것은 잘 알려진 방법입니다.

때때로 보안 트레이드 오프는 결과를 완전히 인식하여 이루어집니다. 암호 시스템은 전원과 CPU 시간이 걸립니다. 임베디드 모니터링 응용 프로그램은 데이터를 손상시키는 가치가 무시할 수 있고 보안을 구현하는 데 드는 추가 비용이 불필요하기 때문에 데이터를 대중에게 명확하게 읽을 수있는 방식으로 전송하는 경우가 많습니다.

모든 보안은 신뢰를 기반으로합니다. 지정된 관리자가 악의를 갖고 메일을 읽는 데 사회 공학이 필요하지 않습니다.

그리고 결국, 야구 방망이를 무릎에 사회적 기술로 적용하는 것을 고려할 수 있습니까?


2
"사양에 결함이 있다면 버그가 아닙니다." hm이 문구는 미끄러운 것처럼 들립니다. 대신 "사양상의 버그" 라고 말하고 싶습니다 . 테스터가되었을 때 수십 가지 버그에 대한 수정 사항을 제출하고 확인했습니다. 그리고 개발자로서 나는 API 문서에 대해 테스터들이보고 한 "스펙 버그"를 고칠 수있는 기회를 가졌다.
gnat

8
@gnat-그러나 "사양의 버그"는 소프트웨어 버그 가 아니며 디자인 버그입니다. 물론 소프트웨어의 일부로 디자인을 할 수 없다면. 그것은 모두 선을 그리는 위치에 달려 있습니다.
ChrisF

1
@ChrisF : 말하고 싶은 말을했지만 감사합니다. 명확하게하기 위해 수정 된 답변.
SF.

스펙에 기록 된 특정 기능이 결함이라는 것이 항상 명확한 것은 아닙니다.
Doc Brown

1
@DocBrown : 예-때로는 비용 대비 성능 저하로 보안의 감소가 필요합니다
.

12

하드웨어 버그로 인해 보안 문제가 발생할 수도 있습니다. "isAdmin"비트를 자발적으로 뒤집는 결함이있는 RAM 칩을 고려하십시오.

또는 메모리 보호가 예상대로 작동하지 않고 한 프로세스가 인터럽트를 트리거하지 않고 다른 프로세스의 메모리를 덮어 쓸 수있는 가상 하드웨어 버그를 고려하십시오.

독서의 즐거움을 위해 : 하드웨어 오류로 인해 컴퓨터 보안이 손상됨


RAM 칩이 isAdmin을 정확히 뒤집을 가능성은 무엇입니까?
m3th0dman

1
매우 작지만 분명히 발생한다면 소프트웨어 버그로 인한 것이 아닌 보안 스레드입니다.
user281377

컴퓨터 시스템이 임의 파일의 권한 비트를 손상시킬 가능성은 전적으로 가능합니다. 전체적으로 쓰기 가능하고 SUID 루트 인 파일을 사소하게 편집하여 사용자 권한을 높일 수 있습니다.
SF.

@ user281377 RAM이 4GB 인 머신의 경우 모든 비트에서 isAdmin 비트를 정확하게 선택할 가능성 만 1/34359738368입니다. 이것은 칩이 잘못 뒤집힐 가능성을 무시하고 있습니다.
m3th0dman

@ m3th0dman 당신은 아마 나를 오해 할 것입니다. 나는 이것이 모두가 관심을 가져야 할 주요 문제라고 말하지 않습니다. 하드웨어 문제 가 보안 스레드를 생성 할 수 있다는 이론적 증거와 비슷합니다 . 즉, 서버에서 잘못된 비트를 발견 한 공격자가 중요한 위치에 메모리 위치가 입력 될 때까지 입력을 채울 수있는 방법을 찾을 수 있습니다.
user281377

6

버그가 아닌 소프트웨어 기능으로 인해 많은 보안 위협이 발생합니다. 매우 유용한 소프트웨어 기능은 사용자의 의도에 따라 선이나 악의 용도로 사용됩니다.


한 사람의 지름길은 다른 사람의 백도어 악용입니다.
Daniel Hollinrake

5

분산 서비스 거부 공격 (DDOS)을 고려하십시오. 이는 보안 위험 일 수 있지만 소프트웨어 버그가 아니라 시스템 설계의 한계를 넘어서는 공격자에 의한 것입니다. 그리고 모든 시스템에는 한계가 있습니다.

따라서 귀하의 질문에 대한 답변은 아닙니다. 아닙니다. 모든 보안 위협이 소프트웨어 버그에 의해 유발되는 것은 아닙니다.


그것은인가 보안 위험? 확실히 사이트를 손상 시킬 수 있지만 사이트의 보안 을 손상시킬 수 있습니까?
Carson63000

1
이는 보안 위험에 대한 정의의 폭이나 폭에 따라 다릅니다.
Pieter B

4

사회 공학.

안녕하세요, 저는 IT 부서에서 XX입니다. 컴퓨터가 현재 다른 사무실 컴퓨터에 바이러스를 확산시키고 있습니다. 제거하려면 사용자 이름과 비밀번호가 필요합니다.

해커가 사용자 이름 / 암호를 확보하면 트로이 목마 등을 안전하게 설치할 수 있습니다.

사회 공학은 여러 가지 방법으로 적용될 수 있으며 그것을 사용하여 보안을 우회하는 것이 하나입니다.


4
이것이 더 많이지지되지 않는 가능한 이유는 어 커가 "사회적 해킹"을 명시 적으로 배제했기 때문입니다.
Joachim Sauer

@JoachimSauer 좋은 지적입니다. 그것을 보지 못했습니다.
jgauffin

3

공유 무선 네트워크에서 전송되는 쿠키를 훔치는 Firefox 애드온 Firesheep 과 같은 것은 어떻습니까?

그러한 공격에 대한 취약성은 버그라고 주장 할 수 있지만, 그에 대한 논쟁도 할 수 있습니다. HTTPS를 통해 모든 통신을 실행하는 것 외에 사용자가 피해를 입지 않도록 웹 사이트를 수행 할 수있는 일은 많지 않습니다. 웹 사이트에서 HTTP 통신을 수락하는 것이 버그라고 말할 수 있습니까?


1
암호화되지 않은 매체를 통해 중요한 개인 정보를 디자인 오류로 전송하기로 한 결정을 분류했습니다. 이것이 "소프트웨어 버그"로 간주되어야한다면 제 생각에는 별도의 토론입니다.
Joachim Sauer

@JoachimSauer, 웹 사이트가 HTTP를 통한 정보 전송을 거부하고 실제로 HTTP를 HTTPS에 매핑하는 MITM 인 경우 어떻게해야합니까? 브라우저는 HTTP를 지원하고 라우터는 HTTP를 지원하지만 스니핑 취약점은 보안에 매우 민감한 클라이언트에 의해서만 피할 수 있습니다. 웹 브라우저가 HTTP를 지원하는 것이 버그입니까?
피터 테일러

@PeterTaylor :이 문제에는 HTTP Strict Transport Security가 있으며, 이는 기본적으로 브라우저 안전한 연결을 통해서만 사이트를 방문해야한다는 것을 브라우저 인식하도록합니다. 또한 asker는 "소셜 해킹"을 명시 적으로 배제했으며 사용자에 따라 보안되지 않은 행을 무시하는 것이 그 측면에 포함 된 것으로 간주 될 수 있습니다.
Joachim Sauer

@JoachimSauer 모든 트래픽을 Strict Transport Site로 프록시 처리하고 클라이언트에 HTTP 연결을 다시 허용하면 어떻게됩니까?
Joshua Drake

@JoachimSauer : 사실, 나는 당신에 동의합니다. 이 취약점을 일으키는 것은 현명한 건축 설계 결정입니다. 코드에서 잘못 구현 된 것은 없습니다. 이것이 바로 "버그"입니다.
Carson63000

1

그렇습니다. 소프트웨어의 보안 장애가 ( 가장 큰 원인이 무엇이든) 소프트웨어가 요구 사항을 충족시키지 못하는 경우입니다.

나는 이것이 단지 타우 톨 로지 (tutology)라는 것을 받아 들인다.


때로는 보안이 단순히 정의 된 요구 사항이 아닙니다. 보안 위반 후 요구 사항 목록에 추가되면 "버그"라고 부르지 않습니다.
Joachim Sauer

프로젝트 시작시 요구 사항이 도출되지 않았다고해서 @JoachimSauer가 요구되지 않았다는 의미는 아닙니다. 소프트웨어 산업은 그 사실을 다루는 데 평생을 보냈습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.