The SBU said five senior people in the defence ministry and at an arms supplier were being investigated.
It said the defence officials signed a contract for 100,000 mortar shells in August 2022.
Payment was made in advance, with some funds transferred abroad, but no arms were ever provided.
Corruption has been a major stumbling block in Ukraine's bid to join the European Union.
The SBU said an investigation had "exposed" officials of the ministry of defence and managers of arms supplier Lviv Arsenal, "who stole nearly 1.5 billion hryvnias in the purchase of shells".
"According to the investigation, former and current high-ranking officials of the Ministry of Defence and heads of affiliated companies are involved in the embezzlement," it said.
The SBU said that despite the contract for the shells having being agreed six months after Russia launched its full-scale invasion of Ukraine, "not a single artillery shell" was ever sent.
One of the suspects was detained while attempting to leave Ukraine and is currently in custody, the SBU said.
Ukraine's prosecutor general says the stolen funds have been seized and will be returned to the defence budget.
By George Wright
BBC News
Ukraine's security service says it has uncovered corruption in an arms purchase by the military worth about $40m (£31m).
The SBU said five senior people in the defence ministry and at an arms supplier were being investigated.
It said the defence officials signed a contract for 100,000 mortar shells in August 2022.
Payment was made in advance, with some funds transferred abroad, but no arms were ever provided.
Corruption has been a major stumbling block in Ukraine's bid to join the European Union.
The SBU said an investigation had "exposed" officials of the ministry of defence and managers of arms supplier Lviv Arsenal, "who stole nearly 1.5 billion hryvnias in the purchase of shells".
"According to the investigation, former and current high-ranking officials of the Ministry of Defence and heads of affiliated companies are involved in the embezzlement," it said.
The SBU said that despite the contract for the shells having being agreed six months after Russia launched its full-scale invasion of Ukraine, "not a single artillery shell" was ever sent.
One of the suspects was detained while attempting to leave Ukraine and is currently in custody, the SBU said.
Ukraine's prosecutor general says the stolen funds have been seized and will be returned to the defence budget.
By George Wright