ITTO980865A1 - Elaboratore con sistema per simulare la presenza dio un drive di dischetto. - Google Patents

Elaboratore con sistema per simulare la presenza dio un drive di dischetto. Download PDF

Info

Publication number
ITTO980865A1
ITTO980865A1 IT000865A ITTO980865A ITTO980865A1 IT TO980865 A1 ITTO980865 A1 IT TO980865A1 IT 000865 A IT000865 A IT 000865A IT TO980865 A ITTO980865 A IT TO980865A IT TO980865 A1 ITTO980865 A1 IT TO980865A1
Authority
IT
Italy
Prior art keywords
processor
memory location
mode
program
suspended
Prior art date
Application number
IT000865A
Other languages
English (en)
Inventor
Alan E Bellitz
Original Assignee
Dell Usa Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Usa Lp filed Critical Dell Usa Lp
Publication of ITTO980865A1 publication Critical patent/ITTO980865A1/it
Application granted granted Critical
Publication of IT1303132B1 publication Critical patent/IT1303132B1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Description

DESCRIZIONE dell'invenzione industriale dal titolo: "Elaboratore con sistema per simulare la presenza di un drive di dischetto"
TESTO DELLA DESCRIZIONE
La presente descrizione è relativa in generale ad elaboratori e programmi di elaboratore e, più specificamente, ad un sistema e un metodo per impedire l'esecuzione di programmi in un programma di utilità di debugger.
Un programma di elaboratore che è memorizzato all'interno di un elaboratore contiene spesso molte proprietà intellettuali proteggibili. Alcune di queste proprietà sono immediatamente proteggibili tramite copyright e/o leggi brevettuali. Tuttavia, altre di queste proprietà sono proteggibili come segreti aziendali, pertanto richiedono il livello massimo di sicurezza per impedire l'utilizzo o l'accesso non autorizzati.
La prevenzione dell'utilizzo o accesso non autorizzati di un particolare programma diventa difficile quando il programma è ottenuto da un utente che non è sottoposto a licenze software o altre forme di protezione. Per esempio, i programmi diagnostici sono spesso installati su un elaboratore dal costruttore dell'elaboratore e contengono molti segreti aziendali del costruttore. Tipicamente, soltanto la porzione eseguibile (.exe) del programma è installata, tenendo l'utente all'oscuro in tal modo del codice sorgente. Inoltre, la porzione .exe del programma è spesso criptata. Per esempio, un programma di utilità PKLITE della PKWARE , Ine. di Brown Deer, WI, comprime la porzione .exe del programma, criptandolo così nel processo. Tuttavia, questo non impedisce ad un utente di eseguire il programma tramite un programma di utilità di debugger. Il programma di utilità di debugger fa sì che il processore dell'elaboratore operi in un modo di esecuzione sospeso che fa sì che il processore interrompa l'esecuzione o salti ad un'altra routine a certi intervalli predefiniti. A scopo esemplificativo, il processore può essere un processore PENTIUM, come prodotto dalla .Intel, Corp. di Santa Clara, CA, ed esempi di modi di esecuzione sospesi comprendono un modo di debug ed un modo operativo a singole fasi, tutti i quali sono descritti in maggior dettaglio nel manuale INTEL ARCHITECTURE SOFTWARE DEVELOPERS'S MANUAL, Volumi 1-3, 1997, fornito dalla Intel Corporation, che è qui allegato per riferimento. Utilizzando il programma di debugger, l'utente può accedere per errore al programma, accedendo in tal modo ai segreti aziendali in esso memorizzati.
Pertanto, quello che è necessario è un sistema e un metodo che impediscano l'accesso non autorizzato di un programma, anche tramite un programma di utilità di debugger.
L'invenzione
In risposta a ciò, è previsto un sistema e un metodo per impedire ad un programma di venire eseguito con un programma di utilità di debugger. In una forma di attuazione, una routine e un programma software sono memorizzati su un drive a disco rigido di un sistema di elaboratore. Il sistema di elaboratore ha un processo per eseguire sia il programma software sia la routine ed è in grado di funzionare in un modo di esecuzione sospeso. La routine impedisce l'accesso non autorizzato al programma software, ad esempio quando il processore sta funzionando nel modo di esecuzione sospeso con un programma di utilità di debugger. Quando il processore sta eseguendo il programma software, il programma può dare inizio all'esecuzione della routine. Una volta iniziata, la routine controlla una certa predeterminata locazione di memoria per determinare se essa è operativa nel modo di esecuzione sospeso e se è così interrompe il processore impedendogli di continuare a eseguire il programma software.
In una forma di attuazione, la locazione di memoria è un registro di interruzione del processore, che indica se si utilizzano punti di interruzione, che sono utilizzati comunemente nei modi operativi di debug. La routine controlla il registro di interruzione per determinare se esso punta a qualche altro programma o routine. Se è così, è probabile che il processore stia funzionando in modo debug e la routine impedisce al processore di continuare ad eseguire il programma originale. In un'altra forma di attuazione, la locazione di memoria è un registro indicatore del processore, che indica se esistono altri modi operativi del processore. In questa forma di attuazione, la . routine controlla il registro indicatore per determinare se esso indica un modo di funzionamento a singola fase per il processore. Se è così, la routine impedisce al processore di continuare a eseguire il programma.
Descrizione dettagliata dei disegni La Figura 1 è un diagramma a blocchi di un elaboratore per implementare una forma di attuazione .
La Figura 2 è un diagramma di flusso di una routine che deve essere eseguita dall'elaboratore di Figura 1.
Descrizione dettagliata della forma di attuazione preferita
Con riferimento alla Figura 1, il numero di riferimento 10 indica un elaboratore avente parecchi componenti, compreso almeno un processore 12, una RAM 14, un'unità a disco rigido 16, e un'unità a disco floppy 18. Ogni componente è in grado di comunicare con il processore 12, come rappresentato graficamente da un bus generale 20. Nel presente esempio, il processore 12 sta eseguendo il codice di sistema operativo DOS come fornito dalla Microsoft Corp. di Redmond, WA. Si comprende, tuttavia, che l'elaboratore 10 e i suoi componenti illustrati sono semplicemente rappresentativi di molti tipi diversi di elaboratori e componenti e che il DOS è semplicemente rappresentativo di molti tipi diversi di sistemi operativi, compreso Windows e Windows 95, anche essi dalla Microsoft Corp.
Il processore 12 comprende una pluralità di registri, compreso un registro INTERRUPT 22 ed un registro FLAG 24. I nomi dei registri 22, 24 sono relativi ai processori PENTIUM e PENTIUM II, ma vogliono solo essere illustrativi di registri simili praticamente su tutti i modelli e/o le marche di processori. I registri 22, 24 sono descritti inoltre nel manuale INTEL ARCHITECTURE SOFTWARE DEVELOPER'S MANUAL, che è già stato allegato per riferimento e che descrive inoltre parecchi modi operativi di processore diversi, compreso un modo normale, un modo di debug, ed un modo a sìngola fase.
Sul drive a disco rigido 16 è memorizzato un file di programma eseguibile (.exe) 26. Il programma 26 è attualmente compresso e criptato utilizzando un'utilità convenzionale quale PKLITE, descritta in maggior dettaglio in precedenza. Dato che il programma 26 è criptato, un utente non può leggere semplicemente il disco rigido 16 per accedere e decompilare il programma. Convenzionalmente, tuttavia, l'utente dovrebbe essere in grado di caricare il programma 26 nella RAM 14 ed eseguire il programma con il processore 12 utilizzando un programma di utilità di debug (non illustrato). Facendo così, l'utente potrebbe apprendere ogni linea di codice nel programma 26 e decompilare il programma, ottenendo in tal modo un accesso non autorizzato al programma.
Con riferimento alla Figura 2, una routine 100, che è memorizzata anche essa sul disco rigido 16, impedisce all'utente di eseguire il programma 26 utilizzando il programma di utilità di debug. Il programma 26 lancia la routine 100 durante il funzionamento iniziale del programma. Pertanto, a scopo esemplificativo, la routine 100 è una routine di inizializzazione, comprendendosi, tuttavia, che la routine 100 può essere eseguita in- qualsiasi momento si esegue il programma 26.
Nella fase 102, la routine 100 controlla i registri 22, 24. Utilizzando l'esempio con processore PENTIUM descritto in precedenza, in modo specifico il registro INTERRUPT 22 è un Registro di Debug 7 e il registro FLAG 24 è un Registro EFLAG.
Nella fase 104, la routine 100 determina se l'indicatore di trappola (TF) del Registro EFLAG 24 è impostato. Se TF è impostato, indicando il modo a singola fase, la routine 100 interrompe l'esecuzione del programma 26 nella fase 106. Se TF è vuoto, l'esecuzione procede alla fase 108, dove la routine 100 determina dove punta l'indicatore di punto di interruzione (INT 3) del Registro INTERRUPT 22. INT 3 può puntare ad una routine quale una routine di trattamento di eccezioni di punti di interruzione, che è utilizzata spesso da un programma di debug, oppure può contenere un'istruzione di ritorno "IRET", che significa che non viene chiamato nessun altro programma o routine. Se INT 3 punta a qualsiasi istruzione diversa da IRET, l'esecuzione procede alla fase 106 sopra descritta. Altrimenti, l'esecuzione procede alla fase 110 dove la routine 100 ritorna al controllo al programma 26, che può ora procedere normalmente. Controllando ì registri 22, 24, la routine 100 sa se il processore 12 sta funzionando in un modo di debug o meno, impedendo in tal modo al programma 26 di venire eseguito con un programma di utilità di debugger.
Anche se sono state illustrate e descritte forme di attuazione illustrative, si prevede nella precedente descrizione una certa ampiezza di modifiche, variazioni e sostituzioni, e in certi esempi, alcune caratteristiche saranno impiegate senza un utilizzo corrispondente di altre caratteristiche. Per esempio, la routine 100 può essere chiamata ripetutamente dal programma 26, garantendo in tal modo ulteriormente che il programma non venga eseguito da un debugger. Inoltre, il programma 26 e la routine 100 possono essere memorizzati in locazioni diverse, registri aggiuntivi o alternativi, indicatori o dispositivi di memoria possono essere controllati e si possono aggiungere routine di trattamento di errori aggiuntive alla forma di attuazione illustrativa senza modificarne il campo di protezione. Di conseguenza, è appropriato che le rivendicazioni allegate siano costruite in senso ampio e in maniera coerente con il campo di protezione dell'invenzione.

Claims (21)

  1. RIVENDICAZIONI 1. Elaboratore comprendente: almeno un processore per eseguire un programma software, il processore in grado di funzionare in un modo a esecuzione sospesa e avente una prima locazione di memoria che indica se il processore sta attualmente operando nel modo a esecuzione sospesa; un dispositivo di memoria accessibile da parte del processore; e una routine posta nel dispositivo di memoria; in cui, quando il processore sta eseguendo il programma software, il programma è in grado di dare inizio alla routine; e in cui, una volta iniziata, la routine controlla la prima locazione di memoria per determinare se il processore si trova nel modo di esecuzione sospesa e se è così, impedisce al processore di continuare ad eseguire il programma software .
  2. 2. Elaboratore secondo la rivendicazione 1 in cui la prima locazione di memoria è un registro di interruzione del processore.
  3. 3. Elaboratore secondo la rivendicazione 1 in cui la prima locazione di memoria è un registro indicatore del processore.
  4. 4. Elaboratore secondo la rivendicazione 1 in cui il processore comprende inoltre una seconda locazione di memoria, la prima locazione dì memoria essendo un registro di interruzione e la seconda locazione di memoria essendo un registro indicatore, e in cui uno dei due registri può indicare se il processore sta attualmente funzionando nel modo a esecuzione sospesa.
  5. 5. Elaboratore secondo la rivendicazione 1 in cui il modo a esecuzione sospesa è un modo di debug .
  6. 6. Elaboratore secondo la rivendicazione 1 in cui il modo a esecuzione sospesa è un modo a singola fase.
  7. 7. Elaboratore secondo la rivendicazione 1 in cui, se la routine determina che il processore non si trova nel modo a esecuzione sospesa, la routine restituisce l'esecuzione al programma software.
  8. 8. Elaboratore secondo la rivendicazione 1 in cui il dispositivo di memoria è un disco rigido.
  9. 9. Elaboratore secondo la rivendicazione 1 in cui il dispositivo di memoria è un disco floppy.
  10. 10. Elaboratore secondo la rivendicazione 1 in cui il dispositivo di memoria è una memoria ad accesso casuale.
  11. 11. Metodo per impedire ad un utente di eseguire un programma su un processore operativo in un modo a esecuzione sospesa, il metodo comprendendo le fasi di: controllare una prima predeterminata locazione di memoria; determinare se la prima locazione di memoria richiama un'altra routine; e se è così, impedire al processore di continuare a eseguire il programma.
  12. 12. Metodo secondo la rivendicazione 11 comprendente inoltre le fasi di: controllare una seconda predeterminata locazione di memoria; determinare se la seconda locazione di memoria indica un modo di funzionamento a esecuzione sospesa per il processore; e se è così, impedire al processore di continuare a eseguire il programma.
  13. 13. Metodo secondo la rivendicazione 11 in cui la prima locazione di memoria è un registro di interruzione del processore.
  14. 14. Metodo secondo la rivendicazione 12 in cui la prima locazione di memoria è un registro di interruzione del processore e la seconda locazione di memoria è un registro indicatore del processore.
  15. 15. Metodo secondo la rivendicazione 11 in cui il modo di funzionamento a esecuzione sospesa è un modo a singola fase.
  16. 16. Metodo secondo la rivendicazione 12 in cui il modo di funzionamento a esecuzione sospesa è un modo di debug.
  17. 17. Dispositivo per impedire ad un utente di eseguire un programma sul processore operativo in un modo di debug, il dispositivo comprendendo: mezzi per controllare una prima predeterminata locazione di memoria; mezzi per determinare se la prima locazione di memoria indica che il processore è operativo in un modo a esecuzione sospesa; e mezzi che rispondono alla determinazione che la prima locazione di memoria indica il modo a esecuzione sospesa per impedire al processore di continuare a eseguire il programma.
  18. 18. Dispositivo secondo la rivendicazione 17 comprendente inoltre: mezzi per controllare una seconda predeterminata locazione di memoria; mezzi per determinare se la seconda locazione di memoria punta ad un'altra routine; e mezzi che rispondono alla determinazione che la seconda locazione di memoria punta ad un'altra routine per impedire al processore di continuare a eseguire il programma.
  19. 19. Dispositivo secondo la rivendicazione 17 in cui la prima locazione di memoria è un registro indicatore del processore.
  20. 20. Dispositivo secondo la rivendicazione 18 in cui la prima locazione di memoria è un registro indicatore del processore e la seconda locazione di memoria è un registro dì interruzione del processore .
  21. 21. Dispositivo secondo la rivendicazione 17 in cui il modo di funzionamento a esecuzione sospesa è uno tra un modo.a singola fase o un modo di debug. Il tutto sostanzialmente come descritto ed illustrato e per gli scopi specificati.
IT1998TO000865A 1997-10-15 1998-10-12 Elaboratore con sistema per simulare la presenza dio un drive didischetto. IT1303132B1 (it)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/950,626 US6237137B1 (en) 1997-10-15 1997-10-15 Method and system for preventing unauthorized access to a computer program

Publications (2)

Publication Number Publication Date
ITTO980865A1 true ITTO980865A1 (it) 2000-04-12
IT1303132B1 IT1303132B1 (it) 2000-10-30

Family

ID=25490685

Family Applications (1)

Application Number Title Priority Date Filing Date
IT1998TO000865A IT1303132B1 (it) 1997-10-15 1998-10-12 Elaboratore con sistema per simulare la presenza dio un drive didischetto.

Country Status (14)

Country Link
US (1) US6237137B1 (it)
JP (1) JPH11175336A (it)
KR (1) KR100394090B1 (it)
CN (1) CN1185589C (it)
AU (1) AU736077B2 (it)
BR (1) BR9802354B1 (it)
DE (1) DE19847677C2 (it)
FR (1) FR2772157A1 (it)
GB (1) GB2330932B (it)
IE (1) IE980483A1 (it)
IT (1) IT1303132B1 (it)
MY (1) MY115760A (it)
SG (1) SG75856A1 (it)
TW (1) TW389859B (it)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519721B1 (en) * 1999-05-19 2003-02-11 Intel Corporation Method and apparatus to reduce the risk of observation of program operation
US7270193B2 (en) * 2000-02-14 2007-09-18 Kabushiki Kaisha Toshiba Method and system for distributing programs using tamper resistant processor
JP4892167B2 (ja) 2000-07-18 2012-03-07 シンプレックス メジャー センドリアン ベルハッド ディジタル・データ保護構成
DE10126281A1 (de) * 2001-05-29 2002-12-12 Infineon Technologies Ag Programmgesteuerte Einheit
TWI231896B (en) 2001-06-29 2005-05-01 Secure Systems Ltd Security system and method for computers
KR100781554B1 (ko) 2004-11-29 2007-12-03 주식회사 안철수연구소 실시간 컴퓨터 프로그램의 디버깅 방지 방법 및 그 기록매체
US20060137016A1 (en) * 2004-12-20 2006-06-22 Dany Margalit Method for blocking unauthorized use of a software application
EP1851670B1 (en) * 2005-02-11 2016-08-10 Simplex Major SDN. BHD., Software protection method
JP4810846B2 (ja) * 2005-03-15 2011-11-09 富士ゼロックス株式会社 プログラムデータの不正利用を阻止するプログラム
US8510596B1 (en) * 2006-02-09 2013-08-13 Virsec Systems, Inc. System and methods for run time detection and correction of memory corruption
WO2007147495A2 (en) * 2006-06-21 2007-12-27 Wibu-Systems Ag Method and system for intrusion detection
JP4048382B1 (ja) * 2006-09-01 2008-02-20 富士ゼロックス株式会社 情報処理システムおよびプログラム
US9262250B2 (en) * 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
US9087154B1 (en) 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
US9703680B1 (en) 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
DE202013101230U1 (de) 2013-03-22 2013-04-10 Oleg A. Schlegel Einrichtung einer Gegenwirkung mit einer Filtrierung von Ereignissen eines unbefugten Zugangs auf ein Programm eines portativen Computers
JP2016534479A (ja) 2013-09-12 2016-11-04 ヴァーセック・システムズ・インコーポレーテッドVirsec Systems,Inc. マルウェアのランタイム中の自動検出
US10354074B2 (en) 2014-06-24 2019-07-16 Virsec Systems, Inc. System and methods for automated detection of input and output validation and resource management vulnerability
AU2017285429B2 (en) 2016-06-16 2022-03-31 Virsec Systems, Inc. Systems and methods for remediating memory corruption in a computer application
JP7076014B2 (ja) * 2018-05-29 2022-05-26 ライン プラス コーポレーション プログラム保護のためのJavaデバッガ遮断方法およびシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57161946A (en) 1981-03-30 1982-10-05 Fujitsu Ltd Microcomputer with protecting mechanism for memory contents
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US4369449A (en) 1981-06-01 1983-01-18 Macdougall James B Linearly polarized omnidirectional antenna
JPS5894195A (ja) 1981-11-30 1983-06-04 Nec Home Electronics Ltd ワンチツプ・マイクロコンピユ−タ
US4525599A (en) * 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
EP0153764B1 (en) * 1984-03-02 1993-11-03 Nec Corporation Information processor having an interruption operating function
JPS62126448A (ja) 1985-11-27 1987-06-08 Fuji Electric Co Ltd メモリの管理・保護方式
JPS63163912A (ja) * 1986-12-26 1988-07-07 Toshiba Corp マイクロコンピユ−タシステム
US4819234A (en) * 1987-05-01 1989-04-04 Prime Computer, Inc. Operating system debugger
US5432795A (en) * 1991-03-07 1995-07-11 Digital Equipment Corporation System for reporting errors of a translated program and using a boundry instruction bitmap to determine the corresponding instruction address in a source program
US5551033A (en) * 1991-05-17 1996-08-27 Zenith Data Systems Corporation Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program
US5446900A (en) * 1992-07-24 1995-08-29 Microtec Research, Inc. Method and apparatus for statement level debugging of a computer program
US5671422A (en) * 1994-11-14 1997-09-23 Intel Corporation Method and apparatus for switching between the modes of a processor
WO1997004394A1 (en) 1995-07-14 1997-02-06 Christopher Nathan Drake Computer software authentication, protection, and security system

Also Published As

Publication number Publication date
BR9802354A (pt) 1999-10-19
AU8089198A (en) 1999-05-06
AU736077B2 (en) 2001-07-26
FR2772157A1 (fr) 1999-06-04
CN1185589C (zh) 2005-01-19
IE980483A1 (en) 1999-06-02
MY115760A (en) 2003-08-30
KR19990036567A (ko) 1999-05-25
GB2330932B (en) 2002-06-26
JPH11175336A (ja) 1999-07-02
DE19847677C2 (de) 2003-08-14
IT1303132B1 (it) 2000-10-30
US6237137B1 (en) 2001-05-22
TW389859B (en) 2000-05-11
CN1215870A (zh) 1999-05-05
BR9802354B1 (pt) 2009-12-01
SG75856A1 (en) 2000-10-24
KR100394090B1 (ko) 2003-12-31
DE19847677A1 (de) 1999-05-06
GB2330932A (en) 1999-05-05
GB9821547D0 (en) 1998-11-25

Similar Documents

Publication Publication Date Title
ITTO980865A1 (it) Elaboratore con sistema per simulare la presenza dio un drive di dischetto.
Voas Maintaining component-based systems
US7055140B2 (en) Software breakpoints implementation via specially named function
Vasudevan et al. Spike: engineering malware analysis tools using unobtrusive binary-instrumentation
US20210406137A1 (en) Systems and methods for checking safety properties
Danner et al. Safer Sloth: efficient, hardware-tailored memory protection
Kwon et al. A2c: Self destructing exploit executions via input perturbation
Wang et al. Automatic detection, validation, and repair of race conditions in interrupt-driven embedded software
US8407523B2 (en) Method for protecting software programs
Tan et al. Sherloc: Secure and holistic control-flow violation detection on embedded systems
Abrath et al. Resilient self-debugging software protection
Yu et al. An automated framework to support testing for process‐level race conditions
Dharsee et al. A software solution for hardware vulnerabilities
Alder et al. Pandora: Principled symbolic validation of Intel SGX enclave runtimes
Lehniger et al. Combination of ROP Defense Mechanisms for Better Safety and Security in Embedded Systems
Bakulin et al. Dynamic Diluted Taint Analysis for Evaluating Detected Policy Violations
JP2007140620A (ja) マイクロコンピュータ及びそのマイクロコンピュータに接続されるデバッグ装置
Reynaud-Plantey The Java mobile risk
Brown Control-flow Integrity for Real-time Embedded Systems
Svoboda Beyond errno: Error Handling in" C".
Heřmánek Útok Stack Clash
Abrath et al. esilient Sel Debu in So t are rote tion
Zhao et al. For Research Only
CA2668547C (en) Protecting software programs
Goodman Clearer, More Comprehensive Error Processing with Win32 (R) Structured Exception Handling

Legal Events

Date Code Title Description
0001 Granted