기본 콘텐츠로 건너뛰기

라벨이 분석인 게시물 표시

캠리(CAMRY) 토요타 자동차 급발진 사고의 기술적 근거. 한국도 동일?

2013년 10월 24일 토요타 자동차의 급발진 사망사고를 둘러싼 미국 오클라호마주의 공판에 제출한 내용이 의미심장하여 공유 해 봅니다.  한국에서 일어나는 급발진 사고는 모두 ECR(Electronic Crash Recoder)의 분석만을 의존하고 게다가 ECR은 서드파티 제품이 아닌 자동차 제조사에서 달아야만 해서 분석 데이터가 명확하지 않습니다. 당연히 제조사에 불리한 정보는 넣지 않겠지요.  이번 공판에서는 Barr Group의 CTO인 Michael Barr씨가 분석한 자료를 증거로 내놨습니다.  실제 토요타 ETCS(전자제어 쓰로틀 시스템)의 소스코드 분석 결과입니다.  데이터 미러링을 하지 않아 스택오버플로우가 발생할 경우 대처할 수 없다.  메모리를 41%만 쓴다고 발표했지만 실제로는 94%의 메모리를 사용하기 때문에 언제든 스텍오버플로우 가능성이 있다.  MISRA-C 위반 재귀 코드가 발견되었다.  MISRA-C : Motor Industry Software Reliability Association에서 규정한 C코드의 정합성을 판단하는 테스트 규약 RTOS 내부 구조 및 쓰로틀 각도변수 미러링이 불완전하다.(안하는 것보다 못함?)  RTOS : Real Time Operating System 포인터를 사용한 콜 및 라이브러리 변수 약 350개를 태스크 전환시 RTOS를 사용하지 않았다. 이 떄 Runtime Task Montoring을 실행하지 않았다.(엑셀을 밟는 등 전자 제어적 명령을 모니터링 안하고 그냥 처리.. 문제가 생기면 나몰라?) 자동차 업계 표준 규격인 RTOS API의 OSEK 버전을 채택하였으나, CPU벤더에서 공급된 OSEK버전이 인증 규격이랑 다르다.  RTOS태스크가 의도치 않은 오류로 셧다운 되었을 때의 현상에서는 UA(Unintended Acceleration, 급가속/급발진) 가 발생할 가능성이 높다. (윈도우의 블루스크린 같은 아무것도 못하는 상황에 스로틀을 전개방으로 OS가 먹통된다고?) 메모리상의 싱글비트에