블록체인의 오픈소스공개는 해킹 위험을 강화하지않나요?
대부분의 블록체인 프로젝트들이 오픈소스가 공개됐다고 알고 있습니다. 비트코인은 물론이고 알트코인들도 공개가 많이되어 비슷한 오픈소스를 사용하는 프로젝트들이 많은 것 같은데요
오픈소스공개는 투명함에 있어서는 좋은 요소일 것 같은데요 반면에 해킹에는 프로그램 소스가 공개되기 때문에 취약점으로 여겨질 수도 있을 것 같은데요 오픈소스공개와 해킹의 상관관계가 있을까요?
오픈소스이기 때문에 말씀하신데로
해커가 취약점을 찾아내어 공격도 할 수 있지만
좋은 화이트 해커도 있기에 취약점 찾으면
고치라고 연락도 해줍니다^^
그래서 오픈소스로 오픈된 프로그램들은
그만큼 보안이 강화될수 있는것입니다
물롬 이와 별개로 저작권은 다른 뮨제입니다^^
오픈소스를 포함한 많은 소스가 공개되어 유출된다고 해도, 암호화폐 특성상 탈중앙화 되어있어 해당 암호화폐 초기 생성 및 배포 이후에는 변경할 수 없습니다. 또한, 하드포크나 소각 등 어느 정도의 기능을 가진 권한은 개발자에게만 주어지고 있어 해킹을 사실상 불가능 합니다.
게다가 블록체인 기술은 해쉬값으로 기존 블록과 이어져 있기 때문에, 해킹 또는 악성코드가 감염된 블록으로 연결 시도시 변조된 상태를 즉각적으로 알 수 있어 블록체인 네트워크로 유입될 수 없습니다.
정리하자면, 블록체인은 보안성과 무결성이 강화된 데이터 기술이기때문에 블록체인 자체를 공격하는 것은 사실상 불가능 하다고 할 수 있겠습니다. 그러한 장점으로 인해, 블록체인 기술이 뜨고 있는 것이기도 합니다.
블록체인 자체에 해킹 혹은 악성코드가 감염되기보다는 블록체인 프로젝트 내에서 구동되는 애플리케이션에서 취약점이 발견돼 공격이 이뤄질 수는 있습니다. 블록체인 프로젝트는 배시셸, 오픈SSL, GNU C 라이브러리와 같은 오프소스 소프트웨어와 마찬가지로 거의 모든 소스코드가 공개되고 있습니다. 그만큼 공격에 취약할 수 있으나 제대로 보안 패치가 이뤄졌는지를 확인하기 어렵다는 한계가 있죠.
블록체인 프로젝트에서 구동되는 애플리케이션은 '스마트계약서(SmartContract)'라는 이름으로 불리기도 합니다. 문제는 이런 애플리케이션이 일반 소프트웨어와 마찬가지로 개발자 실력에 의존해 만들어진다는 점이며, 얼마나 보안 취약점이 없이 안전한지를 검증할만한 시스템이 갖춰져 있지 않습니다.
이러한 문제점을 해결하기 위해서는 시큐어 코딩, 제3기관을 통한 코드 검토 등을 수행하며 악성코드 감염 여부를 사전에 확인하고 데이터 읽기/쓰기 등과 같은 일반적인 함수는 표준 라이브러리로 개발해 보안성 검증을 보다 쉽게 할 수 있는 방법 등을 고려해 볼 수 있겠습니다.