AO464

tutorial: sicurezza 88 AUTOMAZIONE OGGI 464 SOLUZIONI SOFTWARE PER L’INDUSTRIA N el panorama in continua evoluzione della sicurezza delle applicazioni, l’intelligenza artificiale e il machine learning non sono semplicemente espressioni ricor- renti, ma strumenti trasformativi che rimodellano il modo in cui affrontiamo la qualità, la sicurezza e l’efficienza del codice. Man mano che le applicazioni crescono in complessità e interdipendenza e i criminali informatici diventano più creativi, l’intelligenza artificiale rappresenta al tempo stesso una nuova opportunità e una nuova sfida. Per comprenderne l’im- patto, è utile guardare sia al passato che al futuro. Storicamente, la sicurezza delle applicazioni ha avuto origine dal perfezionamento dei linguaggi di programmazione e da tecni- che di sviluppo più rigorose. Dalla programmazione strutturata e l’affermazione della programmazione orientata agli oggetti, fino all’influenza di linguaggi memory-safe come Rust e Go, ogni generazione di sviluppatori ha cercato di integrare principi di si- curezza a un livello sempre più profondo. Eppure, le vulnerabi- lità hanno continuato a rappresentare una criticità. Per colmare queste lacune, sono state introdotte tecnologie per identificare e correggere le vulnerabilità come Sast - Static Application Security Testing e Dast - Dynamic Application Security Testing, integrate nei cicli di vita sicuri dello sviluppo software, nelle pipeline CI/CD e nei flussi di lavoro DevSecOps. Con la progressiva maturazione di questi processi, si è assistito all’introduzione dell’automazione, ma non dell’autonomia. Ed è proprio in questo contesto che l’AI L’intelligenza artificiale e il machine learning hanno un ruolo nella protezione delle applicazioni moderne? Sam Curry inizia a trasformare profondamente il panorama. Se le prime forme di automazione si basavano su regole rigide ed euristiche messe a punto manualmente, i modelli di machine learning odierni sono in grado di individuare code smell, o punti deboli nella programmazione, schemi non sicuri e persino falle nella logica applicativa con una precisione sorprendente, soprat- tutto quando sono addestrati su vaste raccolte di codice pubblico e privato. Questi modelli non sono dei semplici osservatori pas- sivi: sono sempre più capaci di proporre, e in alcuni casi persino di implementare direttamente, refactoring sicuri del codice. Per i sistemi legacy, spesso sommersi da un pesante debito tecnico e di sicurezza, questa evoluzione rappresenta un’autentica ancora di salvezza. Si pensi a un assistente AI in grado di analizzare un’appli- cazione Cobol sviluppata vent’anni fa o un estesomonolite Java, e proporre un piano di migrazione, non solo verso framework mo- derni, ma anche verso architetture più sicure. In questo contesto, l’AI assume il ruolo di una sorta di memoria istituzionale. In molte aziende, le decisioni architetturali più criti- che non sono mai state documentate in modo completo, e i pro- gettisti che le hanno prese hanno da tempo lasciato l’azienda. Gli strumenti di AI, addestrati sui codebase interni, possono iniziare a dedurre l’intento architetturale, rilevare incoerenze nella pro- gettazione e riportare alla luce schemi logici ormai perduti. Non si tratta semplicemente di reverse engineering, ma di una vera e propria reverse stewardship. Oltre levecchie logiche Foto Shutterstock Storicamente, la sicurezza delle applicazioni ha avuto origine dal perfezionamento dei linguaggi di programmazione e da tecniche di sviluppo più rigorose

RkJQdWJsaXNoZXIy Mzg4NjYz